Submission #624611

#TimeUsernameProblemLanguageResultExecution timeMemory
624611BlagojRack (eJOI19_rack)C++14
40 / 100
4 ms2512 KiB
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long int ull;
typedef long long int ll;
typedef long double ld;
int main()
{
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(0);
    ull n, k;
    cin >> n >> k;
    vector<ull> v = {1, (ull)(1 << (n - 1)) + 1};
    ull sum = (1 << (n - 2));
    if (k == 1)
    {
        cout << 1;
        return 0;
    }
    if (k == 2)
    {
        cout << v[1];
        return 0;
    }
    while (sum > 0)
    {
        ull sz = v.size();
        for (ull i = 0; i < sz; i++)
        {
            if ((i + 1) + sz == k)
            {
                cout << (ull)v[i] + sum;
                return 0;
            }
            if (sum > 1)
            {
                v.push_back(v[i] + sum);
            }
        }
        sum /= 2;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...