Mai intai trebuie sa te autentifici.
Cod sursa(job #3287300)
| Utilizator | Data | 17 martie 2025 15:27:35 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.77 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
using pii = pair<int,int>;
const int nmax = 5e5 + 1;
vector <pii> d[256];
pii v[nmax];
signed main()
{
int n , x , idx;
cin >> n;
for(int i = 1 ; i <= n ; ++i){
cin >> x;
v[i] = make_pair(x,x);
}
for(int lv = 1 ; lv <= 5 ; ++lv){
for(int i = 1 ; i <= n ; ++i)
d[v[i].first%256].push_back(v[i]);
idx = 0;
for(int i = 0 ; i <= 255 ; ++i){
for(auto pr : d[i]){
pr.first/=256;
v[++idx] = pr;
}
d[i].clear();
}
}
for(int i = 1 ; i <= n ; ++i) cout << v[i].second << ' ';
return 0;
}
