Pagini recente » Cod sursa (job #1978389) | Cod sursa (job #3268628) | Cod sursa (job #2396861) | Cod sursa (job #146410) | Cod sursa (job #3315466)
#include <fstream>
#include <deque>
using namespace std;
int nr[500005];
deque<int> dq;
int main()
{
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int N,K,maxi=0;
cin>>N>>K;
for(int i=1;i<=N;i++)
{
cin>>nr[i];
}
for(int i=1;i<=N;i++)
{
///elimin elementele care nu mai sunt in interval
while(dq.empty()==0 && dq.front()<=i-K)
{
dq.pop_front();
}
///elimin elementele care nu mai au cum sa fie minime pt ca a venit alt minim
while(dq.empty()==0 && nr[dq.back()] >=nr[i])
{
dq.pop_back();
}
dq.push_back(i);
if(i>=K)
{
maxi=max(maxi,nr[dq.front()]);
}
}
cout<<maxi;
return 0;
}