Pagini recente » Cod sursa (job #502830) | Cod sursa (job #82529) | Cod sursa (job #2088245) | Cod sursa (job #3143148) | Cod sursa (job #2032502)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream si("secventa.in");
ofstream so("secventa.out");
int v[500005];
int dp[500005];
int main()
{
int n,k;
si>>n>>k;
for(int i=1;i<=n;++i)
{
si>>v[i];
}
int st=1,fi=0;
int pozi,minm=-1000000000;
for(int i=1;i<=n;i++)
{
while(v[i]<v[dp[fi]]&&st<=fi)
fi--;
fi++;
dp[fi]=i;
if(i-dp[st]==k)
st++;
if(i>=k)
if(minm<v[dp[st]])
{
pozi=i-k+1;
minm=v[dp[st]];
}
}
so<<pozi<<' '<<pozi+k-1<<' '<<minm;
return 0;
}