Pagini recente » Cod sursa (job #2643999) | Cod sursa (job #1965705) | Cod sursa (job #706165) | Cod sursa (job #727027) | Cod sursa (job #1677370)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k;
int v[500005];
int maxim=-30001;
int pozi=1,pozf=1;
deque<int>q;
void citire()
{
int i;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
}
void rez()
{
int i,minim,poz;
for(i=1;i<=n;i++)
{
while(!q.empty() and v[i]<=v[q.back()])
{
q.pop_back();
}
q.push_back(i);
if(q.front()==i-k)
q.pop_front();
if(i>=k)
{
poz=q.front();
minim=v[q.front()];
if(minim>maxim)
{
maxim=minim;
pozi=i-k+1;
pozf=i;
}
}
}
}
int main()
{
citire();
rez();
fout<<pozi<<' '<<pozf<<' '<<maxim;
return 0;
}