#include <cstdio>
const int memory = (1 << 20);
int input[memory];
inline void printTo(int n) {
    for (int i = 0; i < n; ++i)
        printf("%d ", input[i]);
    printf("\n");
}
inline void printDownTo(int n) {
    for (int i = n - 1; !(i & 0x80000000); --i)
        printf("%d ", input[i]);
    printf("\n");
}
int main() {
    int n, t;
    scanf("%d %d", &n, &t);
    int numOfElems = 1;
    for (int j = 0, i = 0; i < n; ++i) {
        numOfElems <<= 1;
        --j;
        while (++j < numOfElems)
            scanf("%d", &input[j]);
    }
    if (t % 2)
        printDownTo(numOfElems);
    else
        printTo(numOfElems);
    return 0;
}
        | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <cstdio> const int memory = (1 << 20); int input[memory]; inline void printTo(int n) { for (int i = 0; i < n; ++i) printf("%d ", input[i]); printf("\n"); } inline void printDownTo(int n) { for (int i = n - 1; !(i & 0x80000000); --i) printf("%d ", input[i]); printf("\n"); } int main() { int n, t; scanf("%d %d", &n, &t); int numOfElems = 1; for (int j = 0, i = 0; i < n; ++i) { numOfElems <<= 1; --j; while (++j < numOfElems) scanf("%d", &input[j]); } if (t % 2) printDownTo(numOfElems); else printTo(numOfElems); return 0; } | 
 
            
         English
                    English