Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Profil falfaila9 | Cod sursa (job #1365589) | Cod sursa (job #2016267)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int a[500010],deq[500010],max1=0,i,j,n,k,frnt,bck;
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
frnt=1;
bck=0;
for(i=1;i<=n;i++)
{
while(frnt<=bck && a[i]<=a[deq[bck]]){
bck--;
}
deq[++bck]=i;
if(deq[frnt]<=i-k)
frnt++;
if(i>=k)
max1=max(max1,a[deq[frnt]]);
}
g<<deq[frnt]<<' '<<deq[bck]<<' '<<max1;
}