Cod sursa(job #96876)
| Utilizator | Data | 3 noiembrie 2007 23:17:03 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <stdio.h>
FILE*fin=fopen("secv2.in","r");
FILE*fout=fopen("secv2.in","w");
long n,k,i,j,suma=-2000000000,ind1,ind2,cur,var,v[50001];
void SumaK(int i,int k)
{cur=0;
while(k) {cur+=v[i++]; k--;}
}
void inline comp()
{ if(cur>suma) {ind1=i; ind2=j; suma=cur;} }
int main()
{
fscanf(fin,"%ld %ld",&n,&k);
for(i=1;i<=n;i++) fscanf(fin,"%ld",&v[i]);
j=n; var=n;
for(i=1;i<=n-k+1;i++) {SumaK(i,k); comp();
for(j=i+k;j<=var;j++) {cur+=v[j]; comp();}
var=ind2; }
fprintf(fout,"%ld %ld %ld",ind1,ind2,suma); }