以下代码给出了错误的答案

时间:2016-06-24 14:26:56

标签: c++

这是Codeforces第686轮的问题,问题链接是:http://codeforces.com/contest/686/problem/A

#include<iostream>
using namespace std;
int main(int argc, char const *argv[])  
{
    constint n=0; // initially x;
    long int x = 0;
    long int count = 0;
    long int d = 0;
    char ch;
    cin>>n>>x;
    for(int i=0;i<n;i++){
        cin>>ch>>d;
        if(ch == '+'){
            x = x + d;
        }
        if(ch == '-'){
            if( d > x){
                count++;
            }
            else if(d == x){
                x = x - d; 
            }
            if(d < x){
                x = x- d;
            }
        }
    }
    cout<<x<<" "<<count<<endl;
    return 0;
}

这给了我wronge asnwer on codeforces编译器但是当我在我的ubuntu系统上编译它时,工作正常! 给WA考试案例:     6 1000000000
  + 1000000000
  + 1000000000
  + 1000000000
  + 1000000000
  + 1000000000
  + 1000000000

o / p:7000000000 0
我刚接触编程,不知道为什么会这样,所以任何帮助都会受到赞赏。 提前致谢!

1 个答案:

答案 0 :(得分:1)

尝试使用long long unsigned int x,我希望它有所帮助