Cod sursa(job #957355)

Utilizator OpportunityVlad Negura Opportunity Data 4 iunie 2013 21:39:47
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("secv2.in");
ofstream fo("secv2.out");

int j,i,n,k,a[50001],s[50001],mi=1<<21,ma=-1<<21,st,fn,semn=1;
string str;

int main()
{
	fi >> n >> k; getline(fi,str);
	getline(fi,str);
	str+=' ';
	j=1;
	for (i=0; i<(int)str.size(); i++)
	{
		if (str[i]==' ') j++,a[j-1]*=semn,semn=1; else
		if (str[i]=='-') semn=-1; else a[j]=a[j]*10+str[i]-'0';

	}	
	
	for (i=1; i<=n; i++)
		s[i]=s[i-1]+a[i];
	
	for (i=k; i<=n; i++)
	{
		if (s[i-k]<mi)
		{
			mi=s[i-k];
			st=i-k;
		}
		if (s[i]-mi>ma)
		{
			ma=s[i]-mi;
			fn=i;
		}
	}
	
	fo << st << ' ' << fn << ' ' << ma << endl;
	
	
	return 0;
}