Pagini recente » Cod sursa (job #2495187) | Cod sursa (job #1626274) | Cod sursa (job #3159379) | Monitorul de evaluare | Cod sursa (job #2911429)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
/// MULT NOROC LA COPIERE ;)
int n;
vector<int> v;
void read(){cin>>n;
v.resize(n+1);for(int i=1;i<=n;i++){cin>>v[i];}}
void merge(int l,int r){if(l==r){return;}int mid=(l+r)/2;merge(l,mid);merge(mid+1,r);
vector<int> c;int p1=l,p2=mid+1;while(p1<=mid && p2<=r){if(v[p1]<v[p2]){c.push_back(v[p1]);p1++;}else{c.push_back(v[p2]);p2++;}}while(p1<=mid){c.push_back(v[p1]);p1++;}while(p2<=r){c.push_back(v[p2]);p2++;}for(int i=l;i<=r;i++){v[i]=c[i-l];}}
void solve(){merge(1,n);
for(int i=1;i<=n;i++){cout<<v[i]<<" ";}}
int main(){
read();solve();return 0;}