Pagini recente » Cod sursa (job #2964263) | Cod sursa (job #829946) | Cod sursa (job #1001163) | Cod sursa (job #528823) | Cod sursa (job #1182148)
#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;
front = 1;
back = 0;
for(i = 1 ; i <= n ; i++)
{
in>>v[i];
while(front <= back && v[i] <= v[deq[back]])
--back;
deq[++back] = i;
if(deq[front] == i-k) front++;
if(v[deq[front]] > sol && i >= k){
sol = v[deq[front]];
x2 = i;
}
}
out<<x2-k+1<<" "<<x2<<" "<<sol;
out.close();
in.close();
return 0;
}