可能是洛谷用的是Linux的评测机吧
by zyg20010121 @ 2016-08-18 10:15:51
很科学!
by cjycjy @ 2016-08-18 12:53:03
科学的不要不要的
by cjycjy @ 2016-08-18 12:53:43
没有什么不科学的。你的读入优化写错了。如果ch=getchar()之后ch==‘ ’或ch=='\n'或者ch=='\r'之类的,那么就不会执行for,in就等于零了。这样比如你读完第一个数,在读第二个数的时候,第二个数肯定就是0了
by Mys_C_K @ 2016-10-25 12:13:06
读入优化一般写成这样:
```cpp
int get_num()
{
int num=0;char ch;
bool flag=false;
while((ch=getchar())==' '||ch=='\n'||ch=='\r');//把非数字读掉
if(ch=='-') flag=true;
else num=ch-'0';
while(isdigit(ch=getchar()))
num=num*10+ch-'0';
return (flag?-1:1)*num;
}
```
by Mys_C_K @ 2016-10-25 12:16:26
而且本来读入优化和scanf差不多的效率(大多数情况下),而且这个题ai<=20000,用读入优化反而会慢一些。
by Mys_C_K @ 2016-10-25 12:27:15
![](https://cdn.luogu.com.cn/upload/pic/10.png)
by 王中立 @ 2017-01-15 11:13:01