Cod sursa(job #611904)

Utilizator CBogdanCiobanu Bogdan CBogdan Data 4 septembrie 2011 12:30:15
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<cstdio>
using namespace std;

int n,k,i,sum,SOL,beg,end,idx,V[50010];
void read(),solve();

int main()
{
	read();
	solve();
	
	return 0;
}

void read()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%d%d",&n,&k);
}

void solve()
{
	for(i=1;i<=k;i++)
	{
		scanf("%d",&V[i]);
		V[i]+=V[i-1];
	}
	SOL=V[k];
	beg=1;end=k;
	idx=1;
	
	for(i=k+1;i<=n;i++)
	{
		scanf("%d",&V[i]);
		V[i]+=V[i-1];
		
		if(V[i]-V[idx-1]>V[i]-V[i-k])
		{
			sum=V[i]-V[idx-1];
			if(sum>SOL)
			{
				SOL=sum;
				beg=idx;end=i;
			}
		}
		else
		{
			sum=V[i]-V[i-k];
			idx=i-k+1;
			if(sum>SOL)
			{
				SOL=sum;
				beg=idx;end=i;
			}
		}
	}
	printf("%d %d %d\n",beg,end,SOL);
}