Mai intai trebuie sa te autentifici.
Cod sursa(job #3254517)
| Utilizator | Data | 7 noiembrie 2024 18:22:01 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.95 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n,m,i,j;
int v[500010],w[500010];
void srt(int st,int dr) {
if (st<dr) {
int mid=(st+dr)/2;
srt(st,mid);
srt(mid+1,dr);
int i=st;
int j=mid+1;
int k=st-1;
while (st<=mid&&j<=dr) {
if (v[i]<v[j]) {
w[++k]=v[i];
i++;
}
else {
w[++k]=v[j];
j++;
}
}
while (i<=mid) {
w[++k]=v[i];
i++;
}
while (j<=dr) {
w[++k]=v[j];
j++;
}
for (i=st;i<=dr;i++) {
v[i]=w[i];
}
}
}
int main () {
cin>>n;
for (i=1;i<=n;i++) {
cin>>v[i];
}
srt(1,n);
for (i=1;i<=n;i++) {
cout<<v[i]<<" ";
}
}
