Pagini recente » Cod sursa (job #2139108) | Cod sursa (job #3127504) | Cod sursa (job #3156822) | Cod sursa (job #308221) | Cod sursa (job #696284)
Cod sursa(job #696284)
#include<cstdio>
#include<deque>
#include<fstream>
#include<utility>
using namespace std;
deque<pair<int,int> > Q;
void read(),solve();
int i,n,a,maxim,k,I,J;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int main()
{
read();
solve();
return 0;
}
void read()
{
cin>>n>>k;
}
void solve()
{
maxim=-50000;
for(i=1;i<=n;i++)
{
cin>>a;
if(Q.empty()){Q.push_back(make_pair(a,i));continue;}
for(;!Q.empty()&&Q.back().first>=a;Q.pop_back());
Q.push_back(make_pair(a,i));
for(;Q.front().second<(i-k+1);Q.pop_front());
if(i>=k)if(maxim<Q.front().first){maxim=Q.front().first;J=i;I=J-k+1;}
}
cout<<I<<" "<<J<<" "<<maxim;
}