Pagini recente » Cod sursa (job #94952) | Cod sursa (job #88524) | Cod sursa (job #382176) | Cod sursa (job #1726997) | Cod sursa (job #3126980)
#include <bits/stdc++.h>
#define L long long
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
const int NY=5e5+2;
L n,k,i,j,sh,lg[NY],m=-30002,ps,pd;
L r[30][NY];
int main()
{
in>>n>>k;
for(i=1;i<=n;++i)
{
if(i>1) lg[i]=lg[i/2]+1;
in>>r[0][i];
}
for(i=1;(1<<i)<=n;++i)
for(j=1;j<=n-(1<<i)+1;++j)
{
sh=1<<(i-1);
r[i][j]=min(r[i-1][j],r[i-1][j+sh]);
}
sh=k-(1<<lg[k]);
n-=k;
++n;
for(i=1;i<=n;++i)
{
j=min(r[lg[k]][i],r[lg[k]][i+sh]);
if(j>m)
m=j,ps=i,pd=i+k-1;
}
out<<ps<<' '<<pd<<' '<<m;
}