Has the sum exceeded

Problem Description
As we all know, in the computer science, an integer A is in the range of 32-signed integer, which means the integer A is between -2^31 and (2^31)-1 (inclusive), and A is a 64-signed integer, which means A is between -2^63 and (2^63)-1(inclusive). Now we give the K-signed range, and two K-signed integers A and B, you should check whether the sum of A and B is beyond the range of K-signed integer or not.

Input
There will be many cases to calculate. In each case, there comes the integer K (2<=K<=64) first in a single line. Then following the line, there is another single line which has two K-signed integers A and B.

Output
For each case, you should estimate whether the sum is beyond the range. If exceeded, print “Yes”, otherwise “WaHaHa”.

Sample Input
32
100 100

Sample Output
WaHaHa

#include "stdafx.h"
#include "iostream"

using namespace std;

int main()
{
int k = 0;
long int A = 0, B = 0;
double Sum = 0.0;

//input k , A and B
cin >> k;
cin >> A;
cin >> B;

if (k < 2 || k > 64)
{
    cout << "k is not in [2, 64]"<<endl;
    return   0;
}

Sum = (double)A + (double)B;

if (Sum > pow(2, k) )
{
    cout << "yes" << endl;
    return   0;
}
else
{
    cout << "WaHaHa" << endl;
    return   0;
}

return   0;

}

http://www.acmerblog.com/hdu-2116-has-the-sum-exceeded-3261.html