Pagini recente » Cod sursa (job #113363) | Cod sursa (job #2968331) | Monitorul de evaluare | Tudor Maxim | Cod sursa (job #2005082)
#include <iostream>
#include <fstream>
#define dim 500001
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,a[dim],minimax=-30001,pozi,pozj,c=1,y,dp[dim];
int main()
{
fin>>n>>k;
int st,fi;
st=1;
fi=0;
st=1;
fi=0;
for(int i=1;i<=n;i++)
{
fin>>a[i];
while(a[i]<a[dp[fi]]&&st<=fi)
fi--;
fi++;
dp[fi]=i;
if(i-dp[st]==k)
st++;
if(i>=k)
{
if(minimax<a[dp[st]])
{
pozi=i-k+1;
minimax=a[dp[st]];
}
}
}
fout<<pozi<<" "<<pozi+k-1<<" "<<minimax;
return 0;
}