Cod sursa(job #2002912)
| Utilizator | Data | 21 iulie 2017 10:57:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <limits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001];
int main()
{
int n, i, s = 0, si = 0, sj, smax = numeric_limits<int>::min(), simax;
fin >> n;
for(i = 0; i<n; i++)fin >> v[i];
for(i = 0; i<n; i++)
{
s += v[i];
if(s < v[i])
{
s = v[i];
si = i;
}
if(s > smax)
{
smax = s;
simax = si;
sj = i;
}
}
fout << smax << ' ' << simax + 1 << ' ' << sj + 1;
return 0;
}
