286
Cerința
Se dă un vector cu n
elemente, numere naturale și un număr k
. Ordonați crescător primele k
elemente ale vectorului și descrescător ultimele n-k
elemente.
Pentru sortare se va folosit metoda QuickSort sau MergeSort.
Date de intrare
Programul citește de la tastatură numerele n
și k
, iar apoi n
numere naturale, reprezentând elementele vectorului.
Date de ieșire
Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.
Restricții și precizări
1 ≤ k < n ≤ 200 000
- cele
n
numere citite vor fi mai mici decât1 000 000 000
Exemplu
Intrare
7 3 13 1 10 15 3 7 11
Ieșire
1 10 13 15 11 7 3
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int k; cin >> k; int a[200000]; for(int i = 0 ; i < n ; ++i) { cin >> a[i]; } sort(a, a+k); for(int i = 0 ; i < k ; ++i) cout << a[i] << ' '; sort(a+k , a+n); for(int i = n-1 ; i >= k ; --i) cout << a[i] << ' '; return 0; }
Comentarii