题目如下
为什么这个程序在oj系统上会时间超限啊
#include
#include
#include
using namespace std;
int main(){
int n;
while(cin >> n){
int digit[n+5];
for(int i = 0; i < n ;i ++){
scanf("%d",&digit[i]);
}
int start = -1, end = -1, max = 0;
for(int i = 0; i < n ;i ++){
int sum = 0;
for(int j = i; j < n ;j ++){
sum += digit[j];
if(sum > max){
start = i;
end = j;
max = sum;
}
}
}
printf("%d %d %d\n",max,start,end);
}
}
你的代码效率太低, 用动态规划。
你没有判断cin的返回值是不是有值,那它无限阻塞,永不结束,可不超时吗