Cod sursa(job #228276)

Utilizator galacticaBattlestar galactica Data 6 decembrie 2008 20:58:32
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#define N 50100
int s[N],m[N],poz[N];
int main(){
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	int n,k,i,max,pmin,pmax;
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;++i){
		scanf("%d",&s[i]);
		s[i]+=s[i-1];
		if(m[i-1]>=s[i]){
			m[i]=s[i];
			poz[i]=i;
		}
		else{
			m[i]=m[i-1];
			poz[i]=poz[i-1];
		}
	}
	max=s[k];
	pmin=0;
	pmax=k;
	for(i=k+1;i<=n;++i){
		if(s[i]-m[i-k-1]>max){
			max=s[i]-m[i-k-1];
			pmin=poz[i-k-1];
			pmax=i;
		}
	}
	printf("%d %d %d\n",pmin+1,pmax,max);
	fclose(stdin);
	fclose(stdout);
	return 0;
}