Cod sursa(job #54560)
Utilizator | Alexandru Dumitru Paunoiu DranaXum | Data | 25 aprilie 2007 00:32:27 |
---|---|---|---|
Problema | Secventa 2 | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<stdio.h>
int main()
{
int a[50000],n,k,i,j,pi,pf;
long t[50000],max;
FILE *fin,*fout;
fin=fopen("secv2.in","r");
fout=fopen("secv2.out","w");
fscanf(fin,"%d%d",&n,&k);
int imax=0;
t[0]=0;
for(i=1;i<=n;i++)
{
fscanf(fin,"%d",&a[i]);
t[i]+=t[i-1]+a[i];
for(j=1;j<=i-k;j++)
if(max<t[i]-t[j]) {max=t[i]-t[j]; pi=j+1; pf=i;}
if(i>=k) if(max<t[i] || !imax) {pi=1; max=t[i];pf=i; imax=1;}
}
fprintf(fout,"%d %d %d",pi,pf,max);
fclose(fin);
fclose(fout);
return 0;
}