Cod sursa(job #464545)

Utilizator andunhillMacarescu Sebastian andunhill Data 20 iunie 2010 17:50:40
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream f("secventa.in") ; ofstream g("secventa.out");
int v[500001],sol;
int i,n,k,b,e;
deque<int>vmin;
int main()
{	f>>n>>k;
	sol=-31000;
	for(i=1;i<=n;i++)
		f>>v[i];
	for(i=1;i<=n;i++)
	{	while(!vmin.empty() && v[vmin.back()]>v[i])
			vmin.pop_back();
		vmin.push_back(i);
		if(i>=k&&sol<v[vmin.front()]) 
			e=i,b=i-k+1 , sol=v[vmin.front()];
		if(vmin.front()<=i-k+1)
			vmin.pop_front();
	}
			
	g<<b<<" "<<e<<" "<<sol;
	f.close();
	g.close();
	return 0;
}