Pagini recente » Cod sursa (job #1164121) | Cod sursa (job #1568826) | Cod sursa (job #1352799) | Cod sursa (job #2685456) | Cod sursa (job #1013549)
#include <stdio.h>
#include <queue>
#define N 500000
#define fr(i,a,b) for(int i=a;i<b;++i)
using namespace std;
deque<int>q;
int a[N];
int main(){
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
int n,k;
int mv,ml,mr;
mv=-33333;
scanf("%i%i",&n,&k);
fr(i,0,n){
scanf("%i",a+i);
while(!q.empty()&&q.front()>a[i]) q.pop_front();
q.push_front(a[i]);
if(i>=k-1){
int m=q.back();
if(m==a[i-k+1]) q.pop_back();
if(m>mv){mv=m;mr=i;ml=i-k+1;}
}
}
while(ml&&a[ml-1]>mv) --ml;
printf("%i %i %i",ml+1,mr+1,mv);
return 0;
}