Submission #40085847
Source Code Expand
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 15;
ll l[N], r[N];
double pw[] = {0, 1, 10, 100, 1000, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9};
int main () {
ll a, b, x;
cin >> a >> b >> x;
for (int i = 1; i < 10; i++) {
l[i] = pw[i] * a + i * b;
r[i] = (pw[i+1] - 1) * a + i * b;
// cout << l[i] << ' ' << r[i] << endl;
}
l[10] = r[10] = pw[10] * a + 10 * b;
if (x >= l[10]) cout << (ll)1e9;
else if (x >= r[9]) cout << (ll)(1e9-1);
else {
// cout << (ll)((1e9 - 1) * a + 9 * b) <<endl;
for (int i = 9; i >= 1; i--) {
if (x >= l[i] && x <= r[i]) {
ll dx = x - l[i];
dx /= a;
cout << (ll)(pw[i] + dx) << endl;
return 0;
}
if (x >= r[i-1]) {
cout << (ll)(pw[i] - 1);
return 0;
}
}
cout << 0;
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Buy an Integer |
| User | TTwillAC |
| Language | C++ (GCC 9.2.1) |
| Score | 300 |
| Code Size | 1000 Byte |
| Status | AC |
| Exec Time | 6 ms |
| Memory | 3588 KiB |
Judge Result
| Set Name | sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| sample | sample01, sample02, sample03, sample04 |
| All | border01, border02, border03, corner01, max01, max02, max03, min01, min02, rnd01, rnd02, rnd03, sample01, sample02, sample03, sample04 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| border01 | AC | 6 ms | 3392 KiB |
| border02 | AC | 2 ms | 3536 KiB |
| border03 | AC | 2 ms | 3392 KiB |
| corner01 | AC | 2 ms | 3480 KiB |
| max01 | AC | 2 ms | 3536 KiB |
| max02 | AC | 2 ms | 3588 KiB |
| max03 | AC | 2 ms | 3536 KiB |
| min01 | AC | 2 ms | 3532 KiB |
| min02 | AC | 2 ms | 3516 KiB |
| rnd01 | AC | 2 ms | 3532 KiB |
| rnd02 | AC | 2 ms | 3388 KiB |
| rnd03 | AC | 2 ms | 3544 KiB |
| sample01 | AC | 2 ms | 3476 KiB |
| sample02 | AC | 2 ms | 3528 KiB |
| sample03 | AC | 2 ms | 3588 KiB |
| sample04 | AC | 2 ms | 3404 KiB |