Cod sursa(job #1769167)
Utilizator | Stoica Alexandru caesar2001 | Data | 1 octombrie 2016 23:33:06 |
---|---|---|---|
Problema | Secventa 2 | Scor | 40 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.86 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
sum[50001];
int main()
{
in = fopen("secv2.in","r");
out = fopen("secv2.out","w");
int n,k,i,sc = 0,x,smax = -2147483646,p = 0,pmax = 0,umax = 0;
fscanf(in,"%d %d\n",&n,&k);
for(i = 1;i <= n;i ++)
{
fscanf(in,"%d",&x);
sum[i] = sum[i-1] + x;
if(sc < 0)
{
sc = 0;
p = i;
}
sc = sc + x;
if(i >= k)
{
if(sc > smax)
{
smax = sc;
umax = i;
pmax = p;
}
if(sum[i] - sum[i-k] > smax)
{
smax = sum[i] - sum[i-k];
umax = i;
pmax = i-k + 1;
}
}
}
fprintf(out,"%d %d %d",pmax,umax,smax);
return 0;
}