Cod sursa(job #2324049)
| Utilizator | Data | 20 ianuarie 2019 11:06:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000001],p2,smax,rez,cstg,cdr,i,n,x;
int main()
{
fin>>n;
s[0]=0;
for(i=1;i<=n;i++)
{
fin>>x;
s[i]=s[i-1]+x;
}
rez=-2000000;
int Min=0;
int pmin=0;
for(p2=1;p2<=n;p2++)
{
smax=s[p2]-Min;
if(smax>rez)
{
rez=smax;
cstg=pmin;
cdr=p2;
}
if(s[p2]<Min)
{
Min=s[p2];
pmin=p2;
}
}
fout<<rez<<" "<<cstg+1<<" "<<cdr;
return 0;
}
