Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // PA1
- //
- // Created by Zhasulan Suiebay on 11/14/19.
- // Copyright © 2019 Zhasulan Suiebay. All rights reserved.
- //
- # include <iostream>
- # include <fstream>
- using namespace std;
- typedef long long ll;
- typedef long double ld;
- typedef pair < int, int > pii;
- const int N = (int)2e5 + 5;
- const int inf = (int)1e9 + 7;
- int n;
- int a[N];
- void merge(int lt, int mid, int rt){
- int nl = mid - lt + 1;
- int nr = rt - mid;
- int l[nl + 2], r[nr + 2];
- for(int i = 1; i <= nl; i++){
- l[i] = a[lt + i - 1];
- }
- for(int i = 1; i <= nr; i++){
- r[i] = a[mid + i];
- }
- l[nl + 1] = inf;
- r[nr + 1] = inf;
- int i = 1, j = 1;
- for (int k = lt; k <= rt; k++){
- if(l[i] < r[j]){
- a[k] = l[i];
- i++;
- } else{
- a[k] = r[j];
- j++;
- }
- }
- }
- void merge_sort(int lt, int rt){
- if(lt < rt){
- int mid = (rt + lt) / 2;
- merge_sort(lt, mid);
- merge_sort(mid + 1, rt);
- merge(lt, mid, rt);
- }
- }
- int main(){
- int x;
- ifstream File;
- File.open("input.txt");
- if (!File) {
- cout << "Unable to open file";
- exit(1);
- }
- while (File >> x) {
- n++;
- a[n] = x;
- }
- File.close();
- merge_sort(1, n);
- ofstream o("output.txt");
- for(int i = 1; i <= n; i++){
- o << a[i] << " ";
- }
- o.close();
- cout << "asd";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement