QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#145292 | #4184. Amusement Arcade | Asuna | AC ✓ | 1ms | 3616kb | C++20 | 695b | 2023-08-22 03:43:48 | 2023-08-22 03:43:49 |
Judging History
answer
#include <algorithm>
#include <vector>
#include <iostream>
#include <bit>
void solve() {
unsigned long long int n;
std::cin >> n;
if (n <= 3) {
std::cout << "1\n";
return;
}
// 判断 x 是否可以拆成两个二进制数位
auto judge = [&](unsigned long long int x) ->bool {
return std::popcount(x) <= 2;
};
auto v = n - 1;
if (judge(v)) {
if (std::popcount(v) == 1) {
std::cout << (v >> 1) + 1 << "\n";
} else {
std::cout << (v & (-v)) + 1 << "\n";
}
} else {
std::cout << "impossible\n";
}
}
int main() {
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3448kb
input:
7
output:
3
result:
ok
Test #2:
score: 0
Accepted
time: 1ms
memory: 3464kb
input:
15
output:
impossible
result:
ok
Test #3:
score: 0
Accepted
time: 1ms
memory: 3420kb
input:
19
output:
3
result:
ok
Test #4:
score: 0
Accepted
time: 1ms
memory: 3456kb
input:
2049
output:
1025
result:
ok
Test #5:
score: 0
Accepted
time: 1ms
memory: 3560kb
input:
32769
output:
16385
result:
ok
Test #6:
score: 0
Accepted
time: 1ms
memory: 3396kb
input:
536870913
output:
268435457
result:
ok
Test #7:
score: 0
Accepted
time: 1ms
memory: 3404kb
input:
35184372088833
output:
17592186044417
result:
ok
Test #8:
score: 0
Accepted
time: 1ms
memory: 3448kb
input:
2251799813685249
output:
1125899906842625
result:
ok
Test #9:
score: 0
Accepted
time: 1ms
memory: 3564kb
input:
576460752303423489
output:
288230376151711745
result:
ok
Test #10:
score: 0
Accepted
time: 1ms
memory: 3516kb
input:
1027
output:
3
result:
ok
Test #11:
score: 0
Accepted
time: 1ms
memory: 3424kb
input:
2081
output:
33
result:
ok
Test #12:
score: 0
Accepted
time: 1ms
memory: 3516kb
input:
34393292801
output:
33554433
result:
ok
Test #13:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
1
output:
1
result:
ok
Test #14:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
281543696187393
output:
68719476737
result:
ok
Test #15:
score: 0
Accepted
time: 1ms
memory: 3472kb
input:
576460752303423491
output:
3
result:
ok
Test #16:
score: 0
Accepted
time: 1ms
memory: 3448kb
input:
576460752336977921
output:
33554433
result:
ok
Test #17:
score: 0
Accepted
time: 0ms
memory: 3396kb
input:
576461851815051265
output:
1099511627777
result:
ok
Test #18:
score: 0
Accepted
time: 1ms
memory: 3396kb
input:
864691128455135233
output:
288230376151711745
result:
ok
Test #19:
score: 0
Accepted
time: 1ms
memory: 3388kb
input:
635
output:
impossible
result:
ok
Test #20:
score: 0
Accepted
time: 1ms
memory: 3400kb
input:
4537995
output:
impossible
result:
ok
Test #21:
score: 0
Accepted
time: 1ms
memory: 3424kb
input:
4795018843
output:
impossible
result:
ok
Test #22:
score: 0
Accepted
time: 1ms
memory: 3440kb
input:
5268828738869
output:
impossible
result:
ok
Test #23:
score: 0
Accepted
time: 1ms
memory: 3616kb
input:
3859135424551273
output:
impossible
result:
ok
Test #24:
score: 0
Accepted
time: 1ms
memory: 3336kb
input:
3
output:
1
result:
ok
Test #25:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
63913510461995523
output:
impossible
result:
ok
Test #26:
score: 0
Accepted
time: 0ms
memory: 3408kb
input:
341683697045680425
output:
impossible
result:
ok
Test #27:
score: 0
Accepted
time: 1ms
memory: 3564kb
input:
999999999999999999
output:
impossible
result:
ok
Test #28:
score: 0
Accepted
time: 1ms
memory: 3616kb
input:
5
output:
3
result:
ok
Test #29:
score: 0
Accepted
time: 1ms
memory: 3400kb
input:
9
output:
5
result:
ok
Test #30:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
11
output:
3
result:
ok
Test #31:
score: 0
Accepted
time: 1ms
memory: 3444kb
input:
13
output:
5
result:
ok
Test #32:
score: 0
Accepted
time: 1ms
memory: 3400kb
input:
17
output:
9
result:
ok