Submission #727933

#TimeUsernameProblemLanguageResultExecution timeMemory
727933rainboyCATS (NOI14_cats)C11
25 / 25
73 ms2200 KiB
#include <stdio.h> int count(long long b) { return b == 0 ? 0 : count(b & b - 1) + 1; } int main() { int t; scanf("%d", &t); while (t--) { long long k, l, n, d; scanf("%lld%lld%lld", &k, &l, &n), k--, d = (l + n * 2) / (n * 2); printf("%lld\n", d * n * 2 + count(d >= 60 ? k : k % (1LL << d + 1)) % 2); } return 0; }

Compilation message (stderr)

cats.c: In function 'count':
cats.c:4:34: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
    4 |  return b == 0 ? 0 : count(b & b - 1) + 1;
      |                                ~~^~~
cats.c: In function 'main':
cats.c:15:66: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
   15 |   printf("%lld\n", d * n * 2 + count(d >= 60 ? k : k % (1LL << d + 1)) % 2);
      |                                                                ~~^~~
cats.c:10:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |  scanf("%d", &t);
      |  ^~~~~~~~~~~~~~~
cats.c:14:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |   scanf("%lld%lld%lld", &k, &l, &n), k--, d = (l + n * 2) / (n * 2);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...