Cod sursa(job #873522)
| Utilizator | Data | 7 februarie 2013 12:41:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 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,l=0,r=0,li;
ifs>>m;best=m;
int maxsum=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;
}
