Cod sursa(job #476673)

Utilizator cosmyoPaunel Cosmin cosmyo Data 12 august 2010 00:16:23
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<deque>
#define pb push_back 
using namespace std;
int x[500005];
long n,k,p,u;
int maxi=-32000;
deque<long> dq;
int main()
{freopen("secventa.in","r",stdin);
  scanf("%ld%ld",&n,&k);
  long i,max;
   for(i=1;i<=n;++i)
    scanf("%d",&x[i]);
 for(i=1;i<=n;++i)
	 { while(!dq.empty()&&x[i]<=x[dq.back()])
		 dq.pop_back();
	   dq.pb(i);
	if(i>=k&&x[dq.front()]>maxi)
      {maxi=x[dq.front()];
       p=i-k+1;
       u=i;
	  }	   
	 if(dq.front()<=i-k+1)
      dq.pop_front();		
	 }
 fclose(stdin);
freopen("secventa.out","w",stdout);
 printf("%ld %ld %d\n",p,u,maxi);
fclose(stdout);
 return 0;
}