QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#368354 | #4366. Forever Young | cciafrino# | WA | 1ms | 3632kb | C++20 | 1.3kb | 2024-03-27 01:26:51 | 2024-03-27 01:26:52 |
Judging History
answer
#include<bits/stdc++.h>
int main() {
using namespace std;
cin.tie(nullptr)->sync_with_stdio(false);
using i64 = int64_t;
i64 N, L; cin >> N >> L;
i64 ans = 0;
auto test = [&](i64 B) -> i64 {
if (B < 10) return -1;
i64 cur = N;
i64 val = 0;
vector<i64> digs;
while (cur) {
if (cur % B >= 10) return -1;
digs.push_back(cur % B);
cur /= B;
}
int cnt = int(digs.size());
bool ok = false;
if (cnt <= 10) {
for (int d = cnt-1; d >= 0; --d) {
val = 10 * val + digs[d];
}
if (val >= L) ok = true;
} else ok = true;
return ok ? B : -1;
};
auto check = [&](double m, i64 x, i64 y, i64 d) -> bool {
if (m * m * d + m * x + y >= 2e18) return false;
return (m * m * d + m * x + y <= N);
};
// for (int x = 2; x <= 5e5; ++x) ans = max(ans, test(x));
for (int x = 1; x <= 9; ++x) {
for (int y = 0; y <= 9; ++y) {
if ((N - y) % x == 0) {
i64 K = (N - y)/x;
if (K >= 10) ans = max(ans, test(K));
}
}
}
for (int d = 1; d <= 9; ++d) {
for (int x = 0; x <= 9; ++x) {
for (int y = 0; y <= 9; ++y) {
i64 mi = 0, ma = 4e9;
while (ma - mi > 1) {
i64 md = (mi + ma) / 2;
double m = md;
(check(m, x, y, d) ? mi = md : ma = md);
}
ans = max(ans, test(mi));
}
}
}
cout << ans << '\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3632kb
input:
32 20
output:
16
result:
ok single line: '16'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3604kb
input:
2016 100
output:
42
result:
ok single line: '42'
Test #3:
score: 0
Accepted
time: 1ms
memory: 3576kb
input:
1000000000000000000 10
output:
1000000000000000000
result:
ok single line: '1000000000000000000'
Test #4:
score: -100
Wrong Answer
time: 1ms
memory: 3492kb
input:
149239876439186 470
output:
0
result:
wrong answer 1st lines differ - expected: '11', found: '0'