Cod sursa(job #1379809)
Utilizator | Gelu Ungur ImGelu | Data | 6 martie 2015 19:37:40 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <limits.h>
#define NMAX 6000001
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int a[NMAX], n, p, first, last, smax=INT_MIN, min;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
{
a[i]+=a[i-1];
if(a[i]-min>smax) smax=a[i]-min, first=p+1, last=i;
if(a[i]<min) min=a[i], p=i;
}
cout<<smax<<' '<<first<<' '<<last;
return 0;
}