QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#145295 | #4184. Amusement Arcade | Asuna | AC ✓ | 1ms | 3708kb | C++20 | 892b | 2023-08-22 03:49:32 | 2023-08-22 03:49:34 |
Judging History
answer
#include <algorithm>
#include <iostream>
bool judge1(long long int n) {
for(int i = 0;i <= 60;++i) {
if ((1ll << i) + 1 == n) {
return true;
}
}
return false;
}
bool judge2(long long int n) {
for(int i = 0;i <= 60;++i) {
for(int j = i + 1;j <= 60;++j) {
if ((1ll << i) + (1ll << j) + 1 == n) {
return true;
}
}
}
return false;
}
void solve() {
long long int n;
std::cin >> n;
if (n <= 3) {
std::cout << "1\n";
return;
}
if (judge1(n)) {
std::cout << (n / 2) + 1 << "\n";
} else if (judge2(n)) {
n -= 1;
// 找第一个 1 位置
std::cout << (n & (-n)) + 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: 3564kb
input:
7
output:
3
result:
ok
Test #2:
score: 0
Accepted
time: 1ms
memory: 3548kb
input:
15
output:
impossible
result:
ok
Test #3:
score: 0
Accepted
time: 1ms
memory: 3564kb
input:
19
output:
3
result:
ok
Test #4:
score: 0
Accepted
time: 1ms
memory: 3636kb
input:
2049
output:
1025
result:
ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
32769
output:
16385
result:
ok
Test #6:
score: 0
Accepted
time: 1ms
memory: 3636kb
input:
536870913
output:
268435457
result:
ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
35184372088833
output:
17592186044417
result:
ok
Test #8:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
2251799813685249
output:
1125899906842625
result:
ok
Test #9:
score: 0
Accepted
time: 1ms
memory: 3688kb
input:
576460752303423489
output:
288230376151711745
result:
ok
Test #10:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
1027
output:
3
result:
ok
Test #11:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
2081
output:
33
result:
ok
Test #12:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
34393292801
output:
33554433
result:
ok
Test #13:
score: 0
Accepted
time: 1ms
memory: 3644kb
input:
1
output:
1
result:
ok
Test #14:
score: 0
Accepted
time: 1ms
memory: 3696kb
input:
281543696187393
output:
68719476737
result:
ok
Test #15:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
576460752303423491
output:
3
result:
ok
Test #16:
score: 0
Accepted
time: 0ms
memory: 3708kb
input:
576460752336977921
output:
33554433
result:
ok
Test #17:
score: 0
Accepted
time: 1ms
memory: 3568kb
input:
576461851815051265
output:
1099511627777
result:
ok
Test #18:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
864691128455135233
output:
288230376151711745
result:
ok
Test #19:
score: 0
Accepted
time: 1ms
memory: 3552kb
input:
635
output:
impossible
result:
ok
Test #20:
score: 0
Accepted
time: 1ms
memory: 3708kb
input:
4537995
output:
impossible
result:
ok
Test #21:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
4795018843
output:
impossible
result:
ok
Test #22:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5268828738869
output:
impossible
result:
ok
Test #23:
score: 0
Accepted
time: 1ms
memory: 3504kb
input:
3859135424551273
output:
impossible
result:
ok
Test #24:
score: 0
Accepted
time: 1ms
memory: 3560kb
input:
3
output:
1
result:
ok
Test #25:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
63913510461995523
output:
impossible
result:
ok
Test #26:
score: 0
Accepted
time: 1ms
memory: 3548kb
input:
341683697045680425
output:
impossible
result:
ok
Test #27:
score: 0
Accepted
time: 1ms
memory: 3620kb
input:
999999999999999999
output:
impossible
result:
ok
Test #28:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5
output:
3
result:
ok
Test #29:
score: 0
Accepted
time: 1ms
memory: 3640kb
input:
9
output:
5
result:
ok
Test #30:
score: 0
Accepted
time: 1ms
memory: 3572kb
input:
11
output:
3
result:
ok
Test #31:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
13
output:
5
result:
ok
Test #32:
score: 0
Accepted
time: 1ms
memory: 3572kb
input:
17
output:
9
result:
ok