Cod sursa(job #343727)

Utilizator aladinaladin aladinn aladin Data 26 august 2009 23:29:15
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 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 ((i>=k) && (v[D.front()]>max)) 
      {max=v[D.front()];st=i-k+1;stp=i;}
	//printf("%lld ",v[D.front()]);  
}
printf("%d %d %d",st,stp,max);
return 0;}