Pagini recente » Cod sursa (job #809042) | Cod sursa (job #931196) | Cod sursa (job #3003064) | Cod sursa (job #2937832) | Cod sursa (job #2121696)
#include <fstream>
#include <deque>
#include <vector>
#include <iostream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<long> Deque;
vector<long> V;
void WriteDeque()
{
deque<long> D2=Deque;
while(!D2.empty())
{
cout<<V[D2.front()]<<" ";
D2.pop_front();
}
cout<<endl;
}
int main()
{
long N,K,A;
long Max=-30001;
f>>N>>K;
for(long i=0;i<N;i++)
{
f>>A;
V.push_back(A);
if(!Deque.empty() && Deque.front()<=i-K)
Deque.pop_front();
if (Deque.empty()) Deque.push_back(i);
else
{
if(V[Deque.back()]<A) Deque.push_back(i);
else
{
while(!Deque.empty() && V[Deque.back()]>=A) Deque.pop_back();
Deque.push_back(i);
}
}
// WriteDeque();
if(i>K && !Deque.empty())
{
Max=max(Max,V[Deque.front()]);
}
}
g<<Max;
return 0;
}