Cod sursa(job #1699521)
Utilizator | Ana Baltaretu anisca22 | Data | 7 mai 2016 16:23:24 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 65 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long S[6000001];
int main()
{
long n,i,a,mn,mx,kin=1,kfn,k;
mn=INT_MAX;
mx=INT_MIN;
fin>>n;
S[0]=0;
for(i=1;i<=n;i++)
{fin>>a;
S[i]=S[i-1]+a;}
for(i=1;i<=n;i++)
{
if(S[i]-mn>mx)
{
mx=S[i]-mn;
k=kin;
kfn=i;
}
if(S[i]<mn)
{
mn=S[i];
kin=i+1;
}
}
fout<<mx<<" "<<k<<" "<<kfn<<endl;
return 0;
}