Cod sursa(job #1692103)
| Utilizator | Data | 20 aprilie 2016 09:30:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int x, n, p, u, st, dr;
long long s, maxim;
int main(){
fin >> n;
fin >> x;
maxim = x;
p = 1;
u = 1;
st = dr = 1;
s = x;
for( int i = 2; i <= n; i++ ){
fin >> x;
if( s < 0 ){
s = x;
p = u = i;
}else{
s += x;
u++;
}
if( maxim < s ){
maxim = s;
st = p;
dr = u;
}
}
fout << maxim << " " << st << " " << dr;
return 0;
}
