Cod sursa(job #226814)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 2 decembrie 2008 21:15:42
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream.h>
#define N 50001

long i,j,st,dr,poz[N],v[N],sum1[N],sum2[N],max,poz1,n,k;

int main()
{	ifstream fin("secv2.in");
	ofstream fout("secv2.out");
	fin>>n>>k;
	for(i=1;i<=n;i++)
	{	fin>>v[i];
		poz[i]=i;
		if(i<=k)
			sum1[i]=sum1[i-1]+v[i];
	}
	for(i=k+1;i<=n;i++)
		sum1[i]=sum1[i-1]+v[i];
	max=sum1[1];
	for(i=2;i<=n;i++)
		if(sum1[i]>max)
			max=sum1[i],dr=i;
	if(n!=k)
	{	for(i=dr;i>k;i--)
				sum2[i]+=sum2[i+1]+v[i];
		for(i=dr-k;i>=1;i--)
			sum2[i]=sum2[i+1]+v[i];
		max=sum2[dr];
		for(i=1;i<=n;i++)
			if(sum2[i]>max)
				max=sum2[i],st=i;
		fout<<st<<' '<<dr<<' '<<sum2[st];
	}
	else    {       max=0;
			for(i=1;i<=n;i++)
				max+=v[i];
			fout<<1<<' '<<n<<' '<<max;
		}
	return 0;
}