Cod sursa(job #1379816)
Utilizator | Data | 6 martie 2015 19:39:52 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMAX=6000000;
int a[NMAX], n, p, primul, ultim, MIN=INT_MIN,minim;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
for(int i=1;i<=n;i++)
{
a[i]=a[i]+a[i-1];
{if(a[i]-minim>MIN)
MIN=a[i]-minim;
primul=p+1;
ultim=i;}
if(a[i]<minim)
{minim=a[i];
p=i;
}}
fout<<MIN<<' '<<primul<<' '<<ultim;
return 0;
}