Cod sursa(job #1631602)
| Utilizator | Data | 5 martie 2016 17:19:16 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <cstdio>
using namespace std;
FILE* f=fopen("ssm.in","r");
FILE* g=fopen("ssm.out","w");
int n,a[6000001],b[6000001],mx=-999999,ii,jj,iii;
int main()
{
fscanf(f,"%d%d",&n,&b[0]);
for(int i=1;i<n;i++)
{
fscanf(f,"%d",&a[i]);
b[i]=a[i];
if(b[i]<=b[i-1]+a[i])
b[i]=b[i-1]+a[i];
else ii=i;
if(b[i]>mx)
{
mx=b[i],jj=i,iii=ii;
}
}
fprintf(g,"%d %d %d",mx,iii+1,jj+1);
return 0;
}
