Pagini recente » Cod sursa (job #398084) | Cod sursa (job #1290683) | Cod sursa (job #2043433) | Cod sursa (job #2431942) | Cod sursa (job #2943936)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
struct elem
{
int val, poz;
};
int n, k;
deque< elem > q;
vector< int > r;
int main()
{
int x;
cin >> n >> k;
for( int i = 1; i <= n; i = i + 1 )
{
cin >> x;
if( q.empty() == false )
while( q[ q.size() - 1 ].val > x )
q.pop_back();
if( q.empty() == false )
while( q[ 0 ].poz <= i - k )
q.pop_front();
q.push_back( { x, i } );
if( i >= k )
r.push_back( q.front().val );
}
for( int i = 0; i < r.size(); i = i + 1 )
cout << r[ i ] << " ";
return 0;
}