// BucketSort
#include <stdio.h>
#include <stdlib.h>
void printA(int a[], int n){
int i;
for(i=0;i<n;i++){
}
}
void swap(int* a, int* b){
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
#define MAX 1000000
void BucketSort(int a[], int n){
int i,j,t;
int b[MAX];
int max=a[0];
for(i=1;i<n;i++)
{
//最大値を出す
if(max<a[i])
max=a[i];
}
//b配列のmaxまでの中身を全部0にする
for(i=0;i<=max;i++)
{
b[j]=0;
}
//b配列に1を代入
for(i=0;i<n;i++)
{
b[a[i]]=1;
}
for(i=0;i<=max;i++)
{
if(b[i]==1)
a[i]=b[i];
}
}
int main(void){
int n,i;
int *v;
v
= (int*)malloc(sizeof(int)*n
); if(v==NULL){
return -1;
}
for(i=0;i<n;i++){
}
BucketSort(v,n);
printA(v,n);
return 0;
}
Ly8gQnVja2V0U29ydAojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKdm9pZCBwcmludEEoaW50IGFbXSwgaW50IG4pewogICAgaW50IGk7CiAgICBmb3IoaT0wO2k8bjtpKyspewogICAgICAgIHByaW50ZigiJWQgIixhW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKfQoKdm9pZCBzd2FwKGludCogYSwgaW50KiBiKXsKICAgIGludCAgdG1wOwogICAgdG1wID0gKmE7CiAgICAqYSA9ICpiOwogICAgKmIgPSB0bXA7Cn0KCiNkZWZpbmUgTUFYIDEwMDAwMDAKdm9pZCBCdWNrZXRTb3J0KGludCBhW10sIGludCBuKXsKICAgIGludCBpLGosdDsKICAgIGludCBiW01BWF07CiAgICBpbnQgbWF4PWFbMF07CiAgICBmb3IoaT0xO2k8bjtpKyspCiAgICB7CiAgICAJLy/mnIDlpKflgKTjgpLlh7rjgZkKICAgIAlpZihtYXg8YVtpXSkKICAgIAltYXg9YVtpXTsKICAgIH0KICAgIC8vYumFjeWIl+OBrm1heOOBvuOBp+OBruS4rei6q+OCkuWFqOmDqDDjgavjgZnjgosKICAgIGZvcihpPTA7aTw9bWF4O2krKykKICAgIHsKICAgIAliW2pdPTA7CiAgICB9CiAgICAvL2LphY3liJfjgavvvJHjgpLku6PlhaUKICAgIGZvcihpPTA7aTxuO2krKykKICAgIHsKICAgIAliW2FbaV1dPTE7CiAgICB9CiAgICAgICAgZm9yKGk9MDtpPD1tYXg7aSsrKQogICAgewogICAgCWlmKGJbaV09PTEpCiAgICBhW2ldPWJbaV07CiAgICB9Cn0KCmludCBtYWluKHZvaWQpewogICAgaW50IG4saTsKICAgIGludCAqdjsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgdiA9IChpbnQqKW1hbGxvYyhzaXplb2YoaW50KSpuKTsKICAgIGlmKHY9PU5VTEwpewogICAgICAgIHByaW50ZigiRVJST1JcbiIpOwogICAgICAgIHJldHVybiAtMTsKICAgIH0KICAgIGZvcihpPTA7aTxuO2krKyl7CiAgICAgICAgc2NhbmYoIiVkIiwmdltpXSk7CiAgICB9CiAgICBCdWNrZXRTb3J0KHYsbik7CiAgICBwcmludEEodixuKTsKICAgIGZyZWUodik7CiAgICByZXR1cm4gMDsKfQ==