Pagini recente » Cod sursa (job #560263) | Cod sursa (job #404343) | Cod sursa (job #2545560) | Cod sursa (job #449896) | Cod sursa (job #2498157)
#include <fstream>
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
#define NMAX 500005
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque<int> dq;
int v[NMAX];
int maxim = -30005;
int pozmax = -1;
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(NULL);
int n,k;
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
dq.push_back(1);
for(int i=2;i<=n;i = (-(~i)))
{
while(!dq.empty() && v[dq.back()] >= v[i])
dq.pop_back();
dq.push_back(i);
if(dq.front() == i-k)
{
dq.pop_front();
}
if(i>=k)
{
if(v[dq.front()] > maxim )
{
maxim = v[dq.front()];
pozmax = i;
}
}
}
fout<<pozmax-k+1<<" "<<pozmax<<" "<<maxim;
return 0;
}