Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- typedef long long ll;
- void sortPor(vector<ll>& a){
- if(a.size() == 1){
- return;
- }
- ll s = a.size() / 2;
- vector<ll> a1(s);
- vector<ll> a2(a.size() - s);
- ll i = 0, j = 0, k = 0;
- for (i = 0; i < s; i++) {
- a1[i] = a[i];
- }
- for (j = 0; j < (a.size() - s); j++) {
- a2[j] = a[i];
- i++;
- }
- sortPor(a1);
- sortPor(a2);
- i = 0;
- j = 0;
- while (i < a1.size() && j < a2.size()) {
- if (a1[i] <= a2[j]) {
- a[k] = a1[i];
- i++;
- }
- else {
- a[k] = a2[j];
- j++;
- }
- k++;
- }
- if (i != a1.size()) {
- while (i < a1.size()) {
- a[k] = a1[i];
- i++;
- k++;
- }
- }
- if (j != a2.size()) {
- while (j < a2.size()) {
- a[k] = a2[j];
- j++;
- k++;
- }
- }
- }
- int main(){
- ll n;
- cin >> n;
- vector<ll> a(n);
- for(ll i = 0; i < n; i++){
- cin >> a[i];
- }
- sortPor(a);
- for (ll i = 0; i < n; i++) {
- cout << a[i] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement