题目如下:http://ac.jobdu.com/problem.php?pid=1077
开始做完之后发现一直WA, 检查半天发现没错,数据类型也用了 long long int,后来发现 开的数据数组 s[] 数据类型写成了 int ,还有一个地方就是 scanf 处要用 %lld, 坑爹啊,以此文提醒自己以后编程首先把数据类型都确定好。
本题代码如下:
#include <stdio.h>
#include <iostream>
using namespace std;
long long s[1000001];
int main()
{
long long n;
while (scanf("%lld", &n) != EOF) {
long long sum;
long long maxs;
for (long long i = 0; i < n; i++) {
scanf("%lld", &s[i]);
}
sum = 0;
maxs = s[0];
for (long long i = 0; i < n; i++) {
sum += s[i];
if (sum < 0) {
if (sum > maxs) {
maxs = sum;
}
sum = 0;
} else {
if (sum > maxs) {
maxs = sum;
}
}
}
cout << maxs << endl;
}
return 0;
}