Pagini recente » Cod sursa (job #2506680) | Cod sursa (job #967376) | Cod sursa (job #2945681) | Cod sursa (job #1509071) | Cod sursa (job #1639758)
#include <fstream>
using namespace std;
int in,sf,nr,j,Max,Front,Back,n,k,i,a[500001],dq[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;
}