Cod sursa(job #1978094)
Utilizator | Data | 6 mai 2017 22:17:48 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,v[6000001],st,dr,minn,maxsum,best,pmin,p;
int main()
{
f>>n;
maxsum=INT_MIN;
for(i=1; i<=n; i++)
{f>>v[i]; v[i]=v[i-1]+v[i];}
for(i=1; i<=n; i++)
{
best=v[i]-minn;
if(best>maxsum) {maxsum=best; dr=i; st=p+1;}
if(minn>v[i]) {minn=v[i]; p=i;}
}
g<<maxsum<<' '<<st<<' '<<dr;
f.close();
g.close();
return 0;
}