QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#381223#2007. 格雷码Elegia❄️100 ✓0ms3840kbC++14591b2024-04-07 16:34:122024-04-07 16:34:12

Judging History

This is the latest submission verdict.

  • [2024-04-07 16:34:12]
  • Judged
  • Verdict: 100
  • Time: 0ms
  • Memory: 3840kb
  • [2024-04-07 16:34:12]
  • Submitted

answer

#include <bits/stdc++.h>

#define LOG(FMT...) fprintf(stderr, FMT)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;

template <class T>
void chkMin(T& x, const T& y) {
  if (x > y) x = y;
}

template <class T>
void chkMax(T& x, const T& y) {
  if (x < y) x = y;
}

char ans[100];

int main() {
  
  int n;
  ull k;
  scanf("%d%llu", &n, &k);
  for (int i = n - 1; i >= 0; --i)
    if ((k >> i) & 1) {
      ans[n - 1 - i] = '1';
      k = (1ULL << i) - 1 - k;
    } else
      ans[n - 1 - i] = '0';
  puts(ans);
  
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

score: 5
Accepted
time: 0ms
memory: 3716kb

input:

2 2

output:

11

result:

ok "11"

Test #2:

score: 5
Accepted
time: 0ms
memory: 3824kb

input:

3 3

output:

010

result:

ok "010"

Test #3:

score: 5
Accepted
time: 0ms
memory: 3716kb

input:

4 10

output:

1111

result:

ok "1111"

Test #4:

score: 5
Accepted
time: 0ms
memory: 3656kb

input:

5 14

output:

01001

result:

ok "01001"

Test #5:

score: 5
Accepted
time: 0ms
memory: 3696kb

input:

6 33

output:

110001

result:

ok "110001"

Test #6:

score: 5
Accepted
time: 0ms
memory: 3836kb

input:

6 60

output:

100010

result:

ok "100010"

Test #7:

score: 5
Accepted
time: 0ms
memory: 3828kb

input:

9 500

output:

100001110

result:

ok "100001110"

Test #8:

score: 5
Accepted
time: 0ms
memory: 3632kb

input:

10 1000

output:

1000011100

result:

ok "1000011100"

Test #9:

score: 5
Accepted
time: 0ms
memory: 3716kb

input:

10 1023

output:

1000000000

result:

ok "1000000000"

Test #10:

score: 5
Accepted
time: 0ms
memory: 3716kb

input:

10 0

output:

0000000000

result:

ok "0000000000"

Test #11:

score: 5
Accepted
time: 0ms
memory: 3836kb

input:

32 123456

output:

00000000000000010001001101100000

result:

ok "00000000000000010001001101100000"

Test #12:

score: 5
Accepted
time: 0ms
memory: 3840kb

input:

63 2019000

output:

000000000000000000000000000000000000000000100011010100111100100

result:

ok "000000000000000000000000000000000000000000100011010100111100100"

Test #13:

score: 5
Accepted
time: 0ms
memory: 3760kb

input:

32 54321

output:

00000000000000001011111000101001

result:

ok "00000000000000001011111000101001"

Test #14:

score: 5
Accepted
time: 0ms
memory: 3832kb

input:

60 910200

output:

000000000000000000000000000000000000000010110001001011000100

result:

ok "000000000000000000000000000000000000000010110001001011000100"

Test #15:

score: 5
Accepted
time: 0ms
memory: 3772kb

input:

63 123321

output:

000000000000000000000000000000000000000000000010001000101100101

result:

ok "000000000000000000000000000000000000000000000010001000101100101"

Test #16:

score: 5
Accepted
time: 0ms
memory: 3712kb

input:

63 5000000

output:

000000000000000000000000000000000000000011010100110111011100000

result:

ok "000000000000000000000000000000000000000011010100110111011100000"

Test #17:

score: 5
Accepted
time: 0ms
memory: 3832kb

input:

63 998244353353442899

output:

000101100110111010001010000101011111000111111100001010101111010

result:

ok "000101100110111010001010000101011111000111111100001010101111010"

Test #18:

score: 5
Accepted
time: 0ms
memory: 3628kb

input:

63 9223372036854775807

output:

100000000000000000000000000000000000000000000000000000000000000

result:

ok "100000000000000000000000000000000000000000000000000000000000000"

Test #19:

score: 5
Accepted
time: 0ms
memory: 3768kb

input:

44 4444444444444

output:

01100000111110101011010011000110010010010010

result:

ok "01100000111110101011010011000110010010010010"

Test #20:

score: 5
Accepted
time: 0ms
memory: 3724kb

input:

64 18446744073709551615

output:

1000000000000000000000000000000000000000000000000000000000000000

result:

ok "1000000000000000000000000000000000000000000000000000000000000000"

Extra Test:

score: 0
Extra Test Passed