Cod sursa(job #2609180)

Utilizator HelloWorldBogdan Rizescu HelloWorld Data 2 mai 2020 11:56:02
Problema Text Scor 0
Compilator cpp-64 Status done
Runda igorj_mentorat1 Marime 0.78 kb
#include <iostream>
#include <cmath>
using namespace std;
long long p[40],a,b,t,n,i,j,pile1,pile2;
int main()
{
    p[1]=2;
    for (i=2; i<=32; ++i)
        p[i]=p[i-1]*2;
    cin>>t;
    for (j=1; j<=t; ++j)
    {
        cin>>n;
        if (n==2)
            cout<<2<<"\n";
        else
        {
            pile1=p[n];
            a=1;
            pile2=p[n-1];
            b=1;
            for (i=n-2;i>=1;--i)
            {
                if (a==n/2) pile2+=p[i];
                else if (b==n/2) pile1+=p[i];
                else if (abs(pile1+p[i]-pile2)<abs(pile2+p[i]-pile1)) pile1+=p[i],a++;
                else if (abs(pile2+p[i]-pile1)<abs(pile1+p[i]-pile2)) pile2+=p[i],b++;
            }
            cout<<abs(pile2-pile1)<<"\n";
        }
    }
}