Pagini recente » Cod sursa (job #430030) | Cod sursa (job #1749881) | Cod sursa (job #2522415) | Cod sursa (job #1749198) | Cod sursa (job #355939)
Cod sursa(job #355939)
#include<cstdio>
#include<fstream>
#include<iostream>
#define kkt 50001
#define inf -30000
using namespace std;
int n,k,i,minim,inceput,sf,x,dequeue[kkt],a[kkt];
int main()
{
ifstream in("secventa.in");
ofstream out("secventa.out");
in>>n>>k;
inceput=sf=1;
minim=x=inf;
for(i=1;i<=n;++i)
{
in>>a[i];
while(inceput<=sf && a[dequeue[sf]]>=a[i]) sf--;
dequeue[++sf]==i;
if(i-dequeue[inceput]==k) inceput++;
if(a[dequeue[inceput]]>minim && i>=k)
{
minim=a[dequeue[inceput]];
x=i;
}
}
out<<x-k+1<<" "<<x<<" "<<minim;
return 0;
}