Cod sursa(job #873516)
| Utilizator | Data | 7 februarie 2013 12:25:37 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream ifs("ssm.in");
ofstream ofs("ssm.out");
int N;ifs>>N;
int m,best,maxsum=0,l,r,li;
ifs>>m;best=m;
for(int i=1;i<N;i++){
ifs>>m;
int tmp=best+m;
if(m<=tmp)
best=tmp;
else{
best=m;li=i;}
if(best>maxsum){
maxsum=best;
l=li;r=i;
}
}
ofs<<maxsum<<" "<<l+1<<" "<<r+1;
return 0;
}
