Pagini recente » Cod sursa (job #2180456) | Cod sursa (job #1229088) | Cod sursa (job #2106967) | Cod sursa (job #678337) | Cod sursa (job #643963)
Cod sursa(job #643963)
#include<stdio.h>
#include<vector>
# define MAX 666013
using namespace std;
vector<int> G[MAX],Count[MAX];
int n,x,mi=1<<31 - 1,ma=-1,poz;
int gasire(int x)
{
int i;
int a=x% MAX;
for (i=0;i<G[a].size();++i)
if (G[a][i]==x)
return i;
return G[a].size();
}
void inserare(int x)
{
int a=x % MAX, i =gasire(x) ;
if (i==G[a].size()){
G[a].push_back(x);
Count[a].push_back(1);
}
else
Count[a][i]++;
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d ",&n);
for (int i=1;i<=n;++i)
{
scanf("%d ",&x);
if (x<mi)
mi=x;
if (x>ma)
ma=x;
inserare(x);
}
for (int i=mi;i<=ma;++i)
{ int ok=0;
for (int j=0;j<G[i%MAX].size();++j)
if(G[i%MAX][j]==i){
ok=1;
poz=j;
}
if (ok==1)
for (int j=1;j<=Count[i%MAX][poz];++j)
printf("%d ",i);
}
return 0;
}