Pagini recente » Monitorul de evaluare | Cod sursa (job #2683559) | Cod sursa (job #1502587) | Cod sursa (job #1326226) | Cod sursa (job #476668)
Cod sursa(job #476668)
#include<stdio.h>
#include<deque>
#define pb push_back
using namespace std;
long x[500005],n,k,p,u,maxi=-32000;
deque<long> dq;
int main()
{freopen("secventa.in","r",stdin);
scanf("%ld%ld",&n,&k);
long i,max;
for(i=1;i<=n;++i)
scanf("%ld%",&x[i]);
for(i=1;i<=n;++i)
{ while(!dq.empty()&&x[i]<=x[dq.back()])
dq.pop_back();
dq.pb(i);
if(i>=k&&x[dq.front()]>maxi)
{maxi=x[dq.front()];
p=dq.front();
u=p+k-1;
}
if(dq.front()<=i-k+1)
dq.pop_front();
}
fclose(stdin);
freopen("secventa.out","w",stdout);
printf("%ld %ld %ld",p,u,maxi);
fclose(stdout);
return 0;
}