#include <stdio.h>
int cmp(int x, int y)
{
return x>y;
}
void swap(int*x, int *y)
{
int tmp = *x;
*x = *y;
*y = tmp;
}
int main(void)
{
int a[] = {3, 1, 4, 1, 5, 9, 2, 6, 5};
size_t n = sizeof a / sizeof a[0];
for (size_t i = 0; i < n - 1; ++i) {
int swapped = 0;
for (size_t j = 0; j < n - 1 - i; ++j) {
if (cmp(a[j], a[j + 1])) {
swap(&a[j], &a[j + 1]);
swapped = 1;
}
}
if (swapped == 0) {
break;
}
}
for (size_t i = 0; i < n; ++i)
{
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY21wKGludCB4LCBpbnQgeSkKewoJcmV0dXJuIHg+eTsKfQoKdm9pZCBzd2FwKGludCp4LCBpbnQgKnkpCnsKCWludCB0bXAgPSAqeDsKCQoJKnggPSAqeTsKCSp5ID0gdG1wOwp9CgppbnQgbWFpbih2b2lkKQp7CglpbnQgYVtdID0gezMsIDEsIDQsIDEsIDUsIDksIDIsIDYsIDV9OwoJc2l6ZV90IG4gPSBzaXplb2YgYSAvIHNpemVvZiBhWzBdOwoJCglmb3IgKHNpemVfdCBpID0gMDsgaSA8IG4gLSAxOyArK2kpIHsKICAgIGludCBzd2FwcGVkID0gMDsKCiAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IG4gLSAxIC0gaTsgKytqKSB7CiAgICAgICAgaWYgKGNtcChhW2pdLCBhW2ogKyAxXSkpIHsKICAgICAgICAgICAgc3dhcCgmYVtqXSwgJmFbaiArIDFdKTsKICAgICAgICAgICAgc3dhcHBlZCA9IDE7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzd2FwcGVkID09IDApIHsKICAgICAgICBicmVhazsKICAgIH0KfQpmb3IgKHNpemVfdCBpID0gMDsgaSA8IG47ICsraSkgCnsKCXByaW50ZigiJWQgIiwgYVtpXSk7Cn0KcHJpbnRmKCJcbiIpOwoKcmV0dXJuIDA7CgkKfQoKCg==