#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int trick_comp(const void* a_, const void* b_)
{
int a = *(int*)a_, b = *(int*)b_;
if (a && b == 0) return -1;
if (b && a == 0) return 1;
return (a < b) ? -1 : (a > b) ? 1 : 0;
}
void trick_sort(int * a, int N)
{
qsort(a
,N
,sizeof(int),trick_comp
); }
int main(int argc, const char * argv[])
{
int a[20] = { 1,5,0,7,2,0,3,12,0,4,0,6,9 };
trick_sort(a, sizeof(a)/sizeof(a[0]));
for(int i = 0; i < sizeof(a)/sizeof(a[0]); ++i)
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKaW50IHRyaWNrX2NvbXAoY29uc3Qgdm9pZCogYV8sIGNvbnN0IHZvaWQqIGJfKQp7CiAgICBpbnQgYSA9ICooaW50KilhXywgYiA9ICooaW50KiliXzsKICAgIGlmIChhICYmIGIgPT0gMCkgcmV0dXJuIC0xOwogICAgaWYgKGIgJiYgYSA9PSAwKSByZXR1cm4gIDE7CiAgICByZXR1cm4gKGEgPCBiKSA/IC0xIDogKGEgPiBiKSA/IDEgOiAwOwp9Cgp2b2lkIHRyaWNrX3NvcnQoaW50ICogYSwgaW50IE4pCnsKICAgIHFzb3J0KGEsTixzaXplb2YoaW50KSx0cmlja19jb21wKTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiBhcmd2W10pCnsKICAgIGludCBhWzIwXSA9IHsgMSw1LDAsNywyLDAsMywxMiwwLDQsMCw2LDkgfTsKCiAgICB0cmlja19zb3J0KGEsIHNpemVvZihhKS9zaXplb2YoYVswXSkpOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBzaXplb2YoYSkvc2l6ZW9mKGFbMF0pOyArK2kpCiAgICAgICAgcHJpbnRmKCIlZCAiLGFbaV0pOwp9Cgo=