Cod sursa(job #1379826)
| Utilizator | Data | 6 martie 2015 19:43:22 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <limits.h>
#define MAX 6000001
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int a[MAX], n, p, prim, ultim, 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, prim=p+1, ultim=i;
if(a[i]<Min) Min=a[i], p=i;
}
cout<<smax<<' '<<prim<<' '<<ultim;
return 0;
}
