#include<iostream>
int main(){std::cout<<"Hello World";}
is already 55 characters if you remove the return statement.
I'm sorry, but you were assigned a horrible garbage assignment and should really be thinking about the quality education you're receiving. A hello world program in Python is already 20 characters. In C++, you have to include libraries to print and define a main function (which will obviously reach over 45 characters).
@salem_c, If you count newlines, that's 47! So it depends on whether newlines count, too. But you could break yet another rule and leave out the header, resulting in 29 characters (counting the newline).
@fiji885, Its not a garbage assignment, it's a problem from RI (a school in Singapore). If it was garbage, they wouldn't assign it and plus, there have been 379 people who completed it!