Cod sursa(job #1933677)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 20 martie 2017 21:15:50
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long p_s[500001] ,n,mini[500001],ma,mic,poz,k,ok;

void read()
{ int i,x;
	fin>>n>>k;
	mini[0]=15151000511;
	for(i=1; i<=n; i++)	
{		fin>>x;
	p_s[i]=p_s[i-1]+x;
	mini[i]=min(mini[i-1],p_s[i]);
}
}
void determin()
{ int i,j;
	for(i=k; i<=n; i++)
	{ 
		if(p_s[i]-mini[i-k+1]>ma && p_s[i]-mini[i-k+1]>p_s[i])
			{ ma=p_s[i]-mini[i];
				mic=mini[i];
				ok=1;
				poz=i;
			}
			else
				if( p_s[i]-mini[i-k+1]<=p_s[i] && p_s[i]>ma)	
					{ma=p_s[i];
				ok=2;
				poz=i;
		}
}
}
int main()
{ read();
	determin();
	if(ok==1)
	{
	for(int i=1; i<=n; i++)	
		if(mini[i]==mic)
			{fout<<i+1<<" ";
			break;
			}
		}
			else
				fout<<1<<" ";
			
	fout<<poz<<" "<<ma;
}