Cod sursa(job #362860)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 11 noiembrie 2009 10:33:20
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;

ifstream in("secv2.in");
ofstream out("secv2.out");

int main(){
	int v[1<<16],a[1<<16]={0},i,n,k,sc,i1,i2;
	in>>n;
	in>>k;
	for(i=1;i<=n;i++){
		in>>v[i];
	}
	for(i=1;i<=n;i++){
		a[i]=a[i-1]+v[i];
	}
	int smax=sc=a[k];
	i1=1;
	i2=k;
	int i1m=1,i2m=k;
	for(i=k+1;i<=n;i++){
		if( sc+v[i] > a[i]-a[i-k]){
			sc=sc+v[i];
		}
		else{
			sc=a[i]-a[i-k];
			i1=i-k+1;
		}
		if(smax<sc){
			smax=sc;
			i1m=i1;
			i2m=i;
		}
	}
	out<<i1m<<" "<<i2m<<" "<<smax;
	return 0;
}