最近因为要准备考研的原因,开始刷杭电的OJ。有点小总结就写下来了。
前面的1000,1001,1002都算是基础题吧,难度不大。1003是最大子串和。代码如下
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int caseNum=0;
long long int len=0, max=0, sum=0, starttag=1, endtag=1, prestart=1;
int num[100001];
cin >> caseNum;
for(int i=0;i
0) cout<< endl;
cin >> len;
for(int j=0;j
> num[j];
}
sum=max=num[0];
for(int j=1;j
=0){
sum+=num[j];
}
else{
sum=num[j];
prestart=j+1;
}
if(sum>max){
max=sum;
starttag=prestart;
endtag=j+1;
}
}
cout << "Case " << i+1 << ":"<< endl;
cout << max << " " << starttag << " " << endtag << endl;
max=0;
sum=0;
}
return 0;
}