Cod sursa(job #70643)
| Utilizator | Data | 6 iulie 2007 16:44:56 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
/* Ivan Nicolae - Bucuresti */
/* Secventa 2 - Infoarena */
#include <stdio.h>
#define _fin "secv2.in"
#define _fout "secv2.out"
#define negativ(x) (((x)<0) ? (1) : (0))
#define Infinity 0x3f3f3f3f
int i,n,m,x,l,r,S,Smax,Lmax,Rmax;
int main(void)
{
freopen(_fin,"r",stdin);
freopen(_fout,"w",stdout);
scanf("%d%d",&n,&m);
l=1; r=0; S=0; Smax=-Infinity;
for (i=1;i<=n;i++)
{
scanf("%d",&x);
S+=x; r++;
if (S>=Smax && r-l+1>=m)
{ Smax=S; Lmax=l; Rmax=r; }
if (negativ(S))
{ l=i+1; r=i; S=0; }
}
printf("%d %d %d\n",Lmax,Rmax,Smax);
fclose(stdin);
fclose(stdout);
return 0;
}
