Pagini recente » Cod sursa (job #940885) | Cod sursa (job #3338651) | Cod sursa (job #2304870) | Cod sursa (job #2281329) | Cod sursa (job #1485774)
#include <fstream>
#include <algorithm>
#include <vector>
#include <set>
#include <limits>
#define INF numeric_limits<int>::max()
#define pb push_back
#define mp make_pair
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n,k,a[500005],dq[500005];
int main()
{
in>>n>>k;
for(int i=1;i<=n;i++)
in>>a[i];
int lf=1,rt=0,mx=-INF,x,y;
for(int i=1;i<=n;i++)
{
while(lf<=rt && a[i]<=a[dq[rt]])rt--;
dq[++rt]=i;
if(dq[lf]==i-k)lf++;
if(i>=k && mx<a[dq[lf]])
{
mx=a[dq[lf]];
x=i-k+1;
y=i;
}
}
out<<x<<' '<<y<<' '<<mx<<'\n';
return 0;
}