Pagini recente » Cod sursa (job #2784376) | Cod sursa (job #2051508) | Cod sursa (job #724099) | Cod sursa (job #317638) | Cod sursa (job #565675)
Cod sursa(job #565675)
#include<fstream>
#define NMAX 500001
#define INF -(1<<17)
using namespace std;
int N,K;
ifstream in("secventa.in");
ofstream out("secventa.out");
int V[NMAX],myDeque[NMAX],back=0,front=1;
int main()
{
in>>N>>K;
int minim=INF;
pair<int,int> pos;
for(int i=1;i<=N;i++)
{
in>>V[i];
while(front<=back && V[myDeque[back]]>=V[i])
back--;
myDeque[++back]=i;
if(myDeque[front]==i-K)
front++;
if(minim<V[myDeque[front]] && i>=K)
{
minim=V[myDeque[front]];
pos=make_pair(i-K+1,i);
}
}
out<<pos.first<<' '<<pos.second<<' '<<minim<<'\n';
return 0;
}