Cod sursa(job #3129782)
| Utilizator | Data | 15 mai 2023 19:55:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 70 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,j,v[6000002],minim=999999999,st,dr,imin,maxim=-1;
long long s[6000002]={0};
int main()
{
fin>>n;
for(i=1; i<=n; i++)
fin>>v[i];
for(i=1; i<=n; i++)
s[i]=s[i-1]+v[i];
for(i=1; i<=n; i++)
{
if(s[i]-minim>maxim)
{
maxim=s[i]-minim;
dr=i;
st=imin+1;
}
if(s[i]<minim)
{
minim=s[i];
imin=i;
}
}
fout<<maxim<<" "<<st<<" "<<dr;
return 0;
}
