Only the first statement is printed even though both if expressions should evaluate the same. Why?
map <int, int> elem;
vector <int> nums(2);
int x = 1;
elem[x]=-1;
int val = elem[x];
if(val>nums.size()/3) {cout << "First";} // as you can see, vals is -1 and nums.size() is 2
if(-1>2/3) cout<< "Second";