Cod sursa(job #1361518)

Utilizator b10nd3Oana Mancu b10nd3 Data 25 februarie 2015 21:49:46
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#include<stdlib.h>
#include<fstream>


using namespace std;

long n,k;

int main(){
ifstream f; ofstream out;
f.open("secv2.in"); out.open("secv2.out");	

f>>n>>k;
long s[n+1],x, max, begin, end, min=0, min_begin=1;
f>>s[1];
for(int i=2; i<=n;i++){
	f>>x;
	s[i]=s[i-1]+x;	
}

max=s[k]; begin=1; end=k;
for(int i=k+1;i<=n;i++){
	if(s[i]>max){
		max=s[i];
		begin=1;
		end=i;
	}
	if(s[i-k]<min){
		min=s[i-k];
		min_begin=i-k;
	}
	if(s[i]-min>max){
		max=s[i]-min;
		begin=min_begin+1;
		end=i;
	}
	
}

out<<begin<<" "<<end<<" "<<max;

f.close(); out.close();	
return 0;	
}