Cod sursa(job #51610)
| Utilizator | Data | 15 aprilie 2007 18:12:29 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <iostream.h>
#include <fstream.h>
fstream f("secv2.in",ios::in),g("secv2.out",ios::out);
long n,k,i,j,suma=-2000000000,ind1,ind2,cur;
int *v;
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()
{f>>n; f>>k;
v=new int[n+1];
for(i=1;i<=n;i++)
f>>v[i];
j=n;
for(i=1;i<=n-k+1;i++) {SumaK(i,k); comp();
for(j=i+k;j<=n;j++) {cur+=v[j]; comp();}
}
delete v;
g<<ind1<<" "<<ind2<<" "<<suma; }