#include <stdio.h>
int main() {
int a[3] = {3, 2, 5};
int s[3] = {0, 0, 0};
int r = 0;
int i;
for(i = 1; i < 3; i++) {
int t = s[r]; // These 2 lines
while((a[i] < a[t]) && (r >= 0)) //
// while((a[i] < a[s[r]]) && (r >= 0)) // instead of this line
{
r--;
}
printf("initialize s[%d] to %d\n", r
+1, i
); ++r;
s[r] = i;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBhWzNdID0gezMsIDIsIDV9OwogICAgaW50IHNbM10gPSB7MCwgMCwgMH07CiAgICBpbnQgciA9IDA7CiAgICBpbnQgaTsKICAgIGZvcihpID0gMTsgaSA8IDM7IGkrKykgewogICAgICAgIGludCB0ID0gc1tyXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZXNlIDIgbGluZXMgCiAgICAgICAgd2hpbGUoKGFbaV0gPCBhW3RdKSAmJiAociA+PSAwKSkgICAgICAgLy8KLy8gICAgICAgIHdoaWxlKChhW2ldIDwgYVtzW3JdXSkgJiYgKHIgPj0gMCkpICAvLyBpbnN0ZWFkIG9mIHRoaXMgbGluZQogICAgICAgIHsKICAgICAgICAgICAgci0tOwogICAgICAgIH0KICAgICAgICBwcmludGYoImluaXRpYWxpemUgc1slZF0gdG8gJWRcbiIsIHIrMSwgaSk7CiAgICAgICAgKytyOwogICAgICAgIHNbcl0gPSBpOwogICAgfQogICAgcHJpbnRmKCIlZFxuIiwgcik7CiAgICByZXR1cm4gMDsKfQoK