#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int potega(int a, int b)
{
    int c = a;
    for(int i = 1; i < b; i++)
        c *= a;
    return c;
}
long long a;
long long b[1000000];
long long c;
int main()
{
    scanf("%d%lld",&a,&c);
    for(int i = 0; i < potega(2,a); i++)
    {
        scanf("%lld",&b[i]);
    }
    if(c%2!=0)
    {
        reverse(b,b+potega(2,a));
        for(int i = 0; i < potega(2,a);i++)
            printf("%lld ",b[i]);
    }
    else
         for(int i = 0; i < potega(2,a);i++)
            printf("%lld ",b[i]);
}
        | 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 | #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int potega(int a, int b) { int c = a; for(int i = 1; i < b; i++) c *= a; return c; } long long a; long long b[1000000]; long long c; int main() { scanf("%d%lld",&a,&c); for(int i = 0; i < potega(2,a); i++) { scanf("%lld",&b[i]); } if(c%2!=0) { reverse(b,b+potega(2,a)); for(int i = 0; i < potega(2,a);i++) printf("%lld ",b[i]); } else for(int i = 0; i < potega(2,a);i++) printf("%lld ",b[i]); } | 
 
            
         English
                    English