Pagini recente » Cod sursa (job #1693376) | Cod sursa (job #2751629) | Cod sursa (job #2593864) | Cod sursa (job #1663235) | Cod sursa (job #1724562)
#include<cstdio>
#include<deque>
using namespace std;
deque<int> q;
int *v,n,k,maxim,imax;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
v=new int [n+5];
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
while (!q.empty() && v[q.back()]>=v[i]) q.pop_back();
q.push_back(i);
while (!q.empty() && q.front()<=(i-k)) q.pop_front();
if (i>=k)
{
if (v[q.front()]>maxim) maxim=v[q.front()],imax=q.front();
}
}
int j1=imax;
while (j1>1 && v[j1-1]>=maxim) j1--;
int j2=imax;
while (j2<n && v[j2+1]>=maxim) j2++;
printf("%d %d ",j1,j2);
printf("%d\n",maxim);
return 0;
}