Submission #973277

#TimeUsernameProblemLanguageResultExecution timeMemory
973277terracottaliteRack (eJOI19_rack)C++14
100 / 100
1 ms600 KiB
#include <stdio.h> #define MOD 1000000007 long long fastpow(long long base, long long exp) { if (exp == 0) return 1; long long x = fastpow(base, exp / 2); x = (x * x)%MOD; if (exp&1) x = (x * base)%MOD; return x; } int main() { long long n, k; scanf("%lld %lld", &n, &k); k--; long long z = n-1; long long ans = 0; while (k) { if (k&1) ans = (ans + fastpow(2, z))%MOD; z--; k >>= 1; } ans = (ans + 1)%MOD; printf("%lld\n", ans); }

Compilation message (stderr)

rack.cpp: In function 'int main()':
rack.cpp:16:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |  scanf("%lld %lld", &n, &k);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...