Pagini recente » Cod sursa (job #742369) | Cod sursa (job #745400) | Cod sursa (job #1885012) | Cod sursa (job #1831195) | Cod sursa (job #519802)
Cod sursa(job #519802)
#include<cstdio>
#include<deque>
#include<utility>
using namespace std;
deque<pair<int,int> > Q;
void read(),solve();
int i,n,a,maxim,k,I,J;
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
}
void solve()
{
maxim=-50000;
for(i=1;i<=n;i++)
{
scanf("%d",&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;}
}
printf("%d %d %d\n",I,J,maxim);
}