本题数据范围为 1≤n≤107所以应格外注意:
1.定义变量时应该用 long long
2.换行一定要用"\n"
cout<<endl;
会使用系统调用刷新输出缓冲区,输出大量换行时非常缓慢。(没好好看题练错了好几次还一直不知道错哪)自罚10086个耳光
如果你非要用endl的话,请使用快速读入读入数据
快读模板:
template <typename T>void read(T&x){
int sign=1; x=0; char c;
do{c=getchar(); if(c=='-') sign=-1;}while(!isdigit(c));
do{x=x*10+c-'0'; c=getchar();}while(isdigit(c));
x*=sign;
}
3.使用printf和scanf进行输入和输出。或者在主函数中加入加速代码断开cin,cout和printf,scanf之间的联系,使运行速度更快。
加速代码:
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
然后……就没了 (我写的好多)