Cod sursa(job #1139163)
| Utilizator | Data | 10 martie 2014 21:42:35 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
#include <vector>
using namespace std;
vector <int> h[10];
int i,y=1,n,j,a[500001];
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for (i=1;i<=n;i++)f>>a[i];
while (y+1<=(1<<31))
{
for (i=0;i<=9;i++) h[i].clear();
for (i=1;i<=n;i++)
h[(a[i]/y%10)%666013].push_back(a[i]);
y*=10;n=0;
for (i=0;i<=9;i++)
for(j=0; j<h[i].size();j++)
a[++n]= h[i][j];
}
for (i=1;i<=n;i++) g<<a[i]<<" ";
g<<'\n';
f.close();
g.close();
return 0;
}
