Pagini recente » Cod sursa (job #702466) | Cod sursa (job #2298564) | Cod sursa (job #410828) | Cod sursa (job #2014190) | Cod sursa (job #2618880)
#include <iostream>
#include <cstdio>
#include <climits>
#include <queue>
using namespace std;
priority_queue <int,vector<int>,greater<int>> h;
int n,k,v[500005];
int sel[300005];
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
cin.sync_with_stdio(false);
cin.tie(0);
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>v[i];
}
for(int i=1;i<k;i++)
{
h.push(v[i]);
sel[v[i]+30000]++;
}
int poz=0,Max=-INT_MAX;
for(int i=k;i<=n;i++)
{
h.push(v[i]);
sel[v[i]+30000]++;
while(!sel[h.top()+30000])
{
h.pop();
}
int nr=h.top();
if(nr>Max)
{
Max=nr;
poz=i;
}
sel[v[i-k+1]+30000]--;
}
cout<<poz-k+1<<' '<<poz<<' '<<Max<<'\n';
return 0;
}