Cod sursa(job #976147)
| Utilizator | Data | 22 iulie 2013 17:02:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
#define inf 0x3f3f3f3f
using namespace std;
int n,start,end;
int smax=-inf;
void solve()
{
int x;
int s=0;
int sc,ec;
scanf("%d",&n); sc=1;
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
s+=x; ec=i;
if(s>smax) {smax=s; start=sc; end=ec;}
if(s<0) s=0,sc=i+1;
}
printf("%d %d %d\n",smax,start,end);
}
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
solve();
fclose(stdin);
fclose(stdout);
return 0;
}
