Cod sursa(job #343720)

Utilizator aladinaladin aladinn aladin Data 26 august 2009 23:11:11
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
using namespace std;
#include <cstdio>
#include <deque>

deque <int> D;

int main()
{int n,k,v[500009],i,max=-30099,st,stp;

 freopen ("secventa.in","r",stdin);
 freopen("secventa.out","w",stdout);
 scanf("%d %d %d",&n,&k,&v[1]);
 D.push_back(1);
 for (i=2;i<=n;++i)
 { scanf("%d",&v[i]);
    while (!D.empty() && D.front()<=i-k) 
		D.pop_front();
	while (!D.empty() && v[D.back()]>v[i])
	    D.pop_back();
	D.push_back(i);
    if ((1+i-D.front()>=k) && (v[D.front()]>max)) 
      {max=v[D.front()];st=D.front();stp=i;}
}
printf("%d %d %d",st,stp,max);
return 0;}