Pagini recente » Cod sursa (job #2488081) | Cod sursa (job #652506) | Cod sursa (job #331853) | Cod sursa (job #971489) | Cod sursa (job #1639751)
#include <cstdio>
using namespace std;
int in,sf,nr,j,Max,Front,Back,n,k,i,s[500001],a[500001];
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d%d", &n, &k);
Front=1;Back=0;
for(i=1;i<=n;++i)
scanf("%d", &a[i]);
for(i=1;i<=n;++i){
while(Front<=Back&&a[i]<=a[dq[Back]])
--Back;
dq[++Back]=i;
if(dq[Front]==i-k)
++Front;
if(a[dq[Front]]>Max&&i>=k)
{
Max=a[dq[Front]];
in=i-k+1;
sf=i;
}
}
printf("%d %d %d", in, sf, Max);
return 0;
}