Cod sursa(job #1001318)
| Utilizator | Data | 24 septembrie 2013 20:28:03 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000005];
int main()
{
int sc=0, max = -1000000000, i, n, st, dr, p;
fin >> n;
for(i=1 ; i<=n ; i++)
fin >> v[i];
for(i=1; i<=n; i++)
{
if(sc<0)
{
p=i;
sc=0;
}
sc+=v[i];
if(sc>max)
{
max=sc;
st = p;
dr = i;
}
}
fout << max << " " << st << " " << dr << "\n";
return 0;
}
