Pagini recente » Cod sursa (job #2958583) | Cod sursa (job #2238719) | Cod sursa (job #3232227) | Cod sursa (job #1039163) | Cod sursa (job #1594125)
#include <cstdio>
#include <deque>
#define NMax 500005
using namespace std;
deque<int> deq;
int n,k,a[NMax],mx,K,inc,sf;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&K);
for(int i = 1; i <= n; ++i){
scanf("%d",&a[i]);
}
for(int k = K; k <= n; ++k){
for(int i = 1; i <= n; ++i){
if(!deq.empty() && a[i] <= a[deq.back()]){
deq.pop_back();
}
deq.push_back(i);
if(deq.front() == i - k)
deq.pop_front();
if(i >= k){
if(a[deq.front()] > mx){
mx = a[deq.front()];
inc = deq.front();
sf = deq.back();
}
}
}
while(!deq.empty())
deq.pop_back();
}
printf("%d %d %d",inc,sf,mx);
return 0;
}