Cod sursa(job #442265)
| Utilizator | Data | 14 aprilie 2010 00:33:44 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<algorithm>
#include<cstdio>
#include<fstream>
using namespace std;
void msort(int v[], int st, int dr)
{
if(st<dr)
{
int mij=(st+dr)/2;
msort(v, st, mij);
msort(v, mij+1, dr);
inplace_merge(v+st, v+mij+1, v+dr+1);
}
}
int main()
{
int n, v[500002], i;
ifstream fin("algsort.in");
freopen("algsort.out", "w", stdout);
fin>>n;
for(i=1;i<=n;++i)
fin>>v[i];
msort(v, 1, n);
for(i=1;i<=n;++i)
printf("%d ", v[i]);
printf("\n");
return 0;
}
