优化C++代码

Ash*_*hot 0 c++ optimization bit-manipulation

这是我对Spoj 11373的解决方案.可乐的疯狂

#include <cstdio>

int main(){
    int T; scanf("%d",&T);

    for(int j = 1; j <= T; j++){
        int n;
        scanf("%d",&n);
        long long sum = 0, small = 0;
        int t;
        for(int i = 0; i < n; i++) {
            scanf("%d",&t);
            sum += t;
            if( sum < small) small = sum;
        }
        printf("Scenario #%d: %lld\n", j, -1*small+1);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题很简单.这个解决方案在Spoj上需要0.12秒,尽管有0.01秒的解决方案.我很好奇可以对此代码进行哪些优化以加快速度.我认为-1*small+1可能会使用逐位操作,但没有找到如何.此外,由于总和可能超过int,我无法摆脱多久.

Pup*_*ppy 11

你正在进行太多的I/O调用.立即读取整个文件,然后解析它,然后创建输出,然后立即全部写入.