Cod sursa(job #2001689)
Utilizator | Data | 17 iulie 2017 15:05:30 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,x[16000002],d[6000002],i,mx,e;
int main()
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
fin>>n;
x[0]=-1;
for(i=1;i<=n;i++)
{
fin>>x[i];
d[i]=max(x[i],d[i-1]+x[i]);
if(d[i]>mx){mx=d[i];e=i;}
}
fout<<mx<<" ";
i=e;
while(d[i]!=x[i])i--;
fout<<i<<" "<<e;
return 0;
}