Compilation Error

This code can run into my system but It get compilation error on codechef. why?

#include <bits/stdc++.h>

#define int long long

using namespace std;

int q, s, a, b;

int ans = 0;

const int oo = 1e9 + 10, A = (pow(2, 32));

bitset<A> vis;

void doing(int x){

    if(x & 1){

        x >>= 1;

        if(!vis[x]){

            ans += x;

        }

        vis[x] = 1;

    }else{

        x >>= 1;

        if(vis[x]){

            ans -= x;

        }

        vis[x] = 0;

    }

}

int32_t main(){

    cin >> q >> s >> a >> b;

    while(q--){

        doing(s);

        s *= a;

        s %= A;

        s += b;

        s %= A;

    }

    cout << ans;

}

What compilation error?