Pagini recente » Cod sursa (job #674687) | Cod sursa (job #2738504) | Cod sursa (job #1713876) | Cod sursa (job #709302) | Cod sursa (job #2832249)
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
int n,k;
vector<int> v;
vector<int> minR;
void read(){
cin>>n>>k;
v.resize(n+1);
minR.resize(n+1,INT_MAX);
FOR(i,1,n){
cin>>v[i];
}
}
void solve(){
FOR(i,n-k+2,n){
minR[i]=-1;
}
FOR(i,n-k+1,n){
minR[n-k+1]=min(minR[n-k+1],v[i]);
}
for(int i=n-k;i>0;i--){
minR[i]=min(v[i],minR[i+1]);
}
int pozMax,mx=INT_MIN;
for(int i=1;i<=n-k+1;i++){
(mx<minR[i])?pozMax=i,mx=minR[i]:NULL;
}
for(int i=n;i>=pozMax;i--){
cout<<v[i]<<" ";
}
// for(int i=1;i<=n;i++){
// cout<<minR[i]<<" ";
// }
}
int main() {
read();
solve();
return 0;
}