Cod sursa(job #1575522)
| Utilizator | Data | 21 ianuarie 2016 16:55:27 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,maxim,start,finish,st,dr,sc,a;
int main()
{
fin>>n;
fin>>a;
sc=a;
start=1;
finish=1;
maxim=-26000;
for ( int i=2 ; i<=n ; i++ ){
fin>>a;
if ( a > sc+a ){
start=i;
finish=i;
sc=a;
}
else{
sc+=a;
finish++;
}
if ( sc > maxim ){
st=start;
dr=finish;
maxim=sc;
}
}
fout<<maxim<<' '<<st<<' '<<dr;
}
