Pagini recente » Cod sursa (job #477274) | Cod sursa (job #907719) | Cod sursa (job #898925) | Cod sursa (job #2940303) | Cod sursa (job #854686)
Cod sursa(job #854686)
#define MAXN 5000001
#include <fstream>
using namespace std;
int K,N,A[MAXN],dq[MAXN];
ifstream f("secventa.in");
ofstream g("secventa.out");
void secv(){int p,u,i;
p=1;u=0;
int st=0,dr=0,max=-30333;
for (i=1;i<=N;i++)
{
while ((p<=u)&&(A[i]<=A[dq[u]])) u--;
dq[++u]=i;
if (dq[p]==i-K) p++;
if ((i>=K)&&(dq[p]>max)) {
max=A[dq[p]];
st=dq[p];
dr=dq[p]+K-1;
}
}
g<<st<<" "<<dr<<" "<<max;
}
int main()
{
f>>N>>K;
for (int i=1;i<=N;i++) f>>A[i];
secv();
return 0;
}