Pagini recente » Cod sursa (job #2226791) | Cod sursa (job #1543177) | Cod sursa (job #1320820) | Cod sursa (job #2676348) | Cod sursa (job #2618872)
#include <fstream>
#include <climits>
#include <queue>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
priority_queue <int,vector<int>,greater<int>> h;
int n,k,v[500005];
int sel[300005];
int main()
{
f>>n>>k;
for(int i=1;i<=n;i++)
{
f>>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]]--;
h.pop();
}
g<<poz-k+1<<' '<<poz<<' '<<Max<<'\n';
return 0;
}