Pagini recente » Cod sursa (job #2775171) | Cod sursa (job #164794) | Cod sursa (job #273181) | Cod sursa (job #458354) | Cod sursa (job #1527958)
#include<iostream>
#include<fstream>
#include<deque>
using namespace std;
fstream fin("secventa.in",ios::in),fout("secventa.out",ios::out);
int n,c,maxim=-999999,pi,pf;
deque <pair<short,short> > d;
pair<short,short> b;
int main()
{
int i,n,k,a;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>a;
while(!d.empty()&&d.back().first>a)
{
d.pop_back();
}
d.push_back(make_pair(a,i));
b=d.front();
d.pop_front();
while(!d.empty()&&(d.back().second-b.second>=k)&&b.first<=d.front().first)
{
b=d.front();
d.pop_front();
}
d.push_front(b);
if(d.front().first>maxim&&d.back().second-d.front().second+1>=k)
{
maxim=d.front().first;
pi=d.front().second;
pf=i;
}
}
fout<<pi<<" "<<pf<<" "<<maxim;
}