Pagini recente » Cod sursa (job #1562033) | Cod sursa (job #2398690) | Cod sursa (job #705766) | Cod sursa (job #2728177) | Cod sursa (job #1181908)
#include<fstream>
#include<iostream>
#define nmax 500009
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int sol = -40000,v[nmax],deq[nmax],k,front,back,n,x2;
int main()
{
in>>n>>k;
int i;
for(i = 1 ; i <= n ; i++)
in>>v[i];
front = 1;
back = 0;
for(i = 1 ; i <= n ; i++)
{
while(front <= back && v[i] <= v[deq[back]])
--back;
deq[++back] = i;
if(deq[front] == i-k) front++;
if(deq[front] >= k) {
if(v[deq[front]] > sol){
sol = v[deq[front]];
x2 = deq[front];
}
}
}
out<<x2-k+1<<" "<<x2<<" "<<sol;
out.close();
in.close();
return 0;
}