Cod sursa(job #96872)
| Utilizator | Data | 3 noiembrie 2007 23:06:45 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 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,var;
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; 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; }
delete v;
g<<ind1<<" "<<ind2<<" "<<suma; }