Pagini recente » Cod sursa (job #1296942) | Cod sursa (job #692509) | Cod sursa (job #1012544) | Cod sursa (job #1144924) | Cod sursa (job #845824)
Cod sursa(job #845824)
#include<cstdio>
#include<algorithm>
#include<deque>
using namespace std;
int n,k,i,a[500010],bmin,start,end;
deque<int> dq;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d%d",&n,&k);
bmin=-(1<<30);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
for(;!dq.empty() && dq.front()<i-k+1;) dq.pop_front();
for(;!dq.empty() && a[dq.back()]>a[i];) dq.pop_back();
dq.push_back(i);
if(i>=k)
{
if(a[dq.front()]>bmin)
{
bmin=a[dq.front()];
end=i;
}
}
//for(int j=0;j<dq.size();j++) printf("%d |%d|; ",a[dq[j]],dq[j]); printf("\n");
}
start=i-k;
printf("%d %d %d\n",start,end,bmin);
return 0;
}