Cod sursa(job #1865076)
Utilizator | Data | 1 februarie 2017 12:44:20 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000001];
int main()
{
int dr,n,j=0,aux,maxim=0;
fin>>n;
for(int i=1;i<=n;++i)
{
fin>>aux;
s[i]=s[i-1]+aux;
}
for(int i=1;i<=n;++i)
{
if(s[i]-s[j]>maxim) maxim=s[i]-s[j],dr=i;
if(s[i]<s[j]) j=i;
}
fout<<maxim<<" "<<j+1<<" "<<dr;
return 0;
}