Cod sursa(job #91040)
Utilizator | Andrei Popescu pandaemon | Data | 11 octombrie 2007 12:29:24 |
---|---|---|---|
Problema | Secventa 2 | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<iostream.h>
#include<fstream.h>
fstream in("secv2.in",ios::in),out("secv2.out",ios::out);
long n,k,i,j,s,start,stop,max,cur;
int *v;
main()
{in>>n>>k; v=new int[n+1];
for(i=1;i<=n;i++) in>>v[i];
for(i=1;i<=k;i++) max+=v[i];
start=1; stop=k;
s=max;
for(i=2;i<=n-k;i++)
{
s=s-v[i-1]+v[i+k-1]; cur=s; if(s>max) {max=s; start=i; stop=i+k-1;}
for(j=i+k;j<=n;j++) {cur+=v[j]; if(cur>max) {max=cur; stop=j;} }
}
delete v;
out<<start<<" "<<stop<<" "<<max;}