Cod sursa(job #329733)
| Utilizator | Data | 7 iulie 2009 12:20:38 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <stdio.h>
FILE *f,*s;
int n,k,x,i,j,v[50000],m[50000],c[50000],in,sf,max;
int main()
{
f=fopen("secv2.in","r");
s=fopen("secv2.out","w");
fscanf(f,"%d %d\n",&n,&k);
for(i=1;i<=n;i++)
{
fscanf(f,"%d ",&x);
v[i]=v[i-1]+x;
if(x<=m[i-1])
{
m[i]=x;
c[i]=i;
}
else
{
m[i]=m[i-1];
c[i]=c[i-1];
}
}
max=-1000000000;
for(i=k;i<=n;i++)
{
if(v[i]-m[i-k-1]>max)
{
max=v[i]-m[i-k-1];
in=c[i-k]+1;
sf=i;
}
}
fprintf(s,"%d %d %d\n",in,sf,max);
fclose(s);
return 0;
}