Cod sursa(job #1257008)

Utilizator ade_tomiEnache Adelina ade_tomi Data 7 noiembrie 2014 08:48:05
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
#include<deque>
using namespace std;
int maxi,pozi,n,k,i,x;
struct str
{
	int poz, val;
};
str r;
typedef deque<str> deck;
deck q;
int main()
{
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		r.val=x;
		r.poz=i;
		while(q.empty()==false&&r.val<q.back().val)
		{
			q.pop_back();
		}
		q.push_back(r);
		if(q.front().poz==i-k)
			q.pop_front();
		if(q.front().val>maxi)
		{
			maxi=q.front().val;
			pozi=i-k+1;
		}
	}
	printf("%d %d %d",pozi, pozi+k-1,maxi);
	return 0;
}