Submission #1281994

#TimeUsernameProblemLanguageResultExecution timeMemory
1281994SSKMFRack (eJOI19_rack)C++20
100 / 100
9 ms580 KiB
#include <bits/stdc++.h>
using namespace std;

const int mod(1000000007);

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int adancime; int64_t valoare;
    cin >> adancime >> valoare;

    int putere = 1;
    for (int exponent = 1 ; exponent < adancime ; exponent++)
        { putere = 2LL * putere % mod; }

    int rezultat = 0;
    while (adancime)
    {
        if (!(valoare & 1)) {
            if ((rezultat += putere) >= mod)
                { rezultat -= mod; }
        } else
            { valoare++; }

        putere = 500000004LL * putere % mod;
        valoare >>= 1;
        adancime--;
    }
    
    cout << rezultat + 1;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...