QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#598891 | #5259. Skills in Pills | sxye | WA | 0ms | 3712kb | C++20 | 1.8kb | 2024-09-28 23:56:29 | 2024-09-28 23:56:37 |
Judging History
answer
#include <bits/stdc++.h>
int exgcd(int a, int b, int &x, int &y){
if(b == 0){
x = 1, y = 0;
return a;
}
int d = exgcd(b, a % b, y, x);
y -= a / b * x;
return d;
}
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int a, b, n;
std::cin >> a >> b >> n;
int d, x, y;
d = exgcd(a, b, x, y);
int xp = (x + b) % b, yp = (y + a) % a;
int la = 0, lb = 0, ans = 0, sa = a - n % a - 1, sb = b - n % b - 1;
for(int i = 1; i <= n; i ++){
if(la < i && la + a <= n){
la += a;
ans ++;
}
if(lb < i && lb + b <= n){
lb += b;
ans ++;
}
// std::cout << la << " " << lb << " " << sa << " " << sb << "\n";
if(la && la == lb){
if(sa && !sb){
sa --;
la --;
}else if(!sa && sb){
sb --;
lb --;
}else if(sa && sb){
if(d == 1){
if(xp * a < yp * b){
sa --;
la --;
}else{
sb --;
lb --;
}
}else{
la --;
sa --;
}
}else{
if(d == 1){
if(xp * a < yp * b){
sa += a - 1;
la --;
}else{
sb += b - 1;
lb --;
}
}else{
la --;
sa += a - 1;
}
}
}
}
std::cout << ans;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3668kb
input:
3 9 20
output:
8
result:
ok single line: '8'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
8 2 12
output:
7
result:
ok single line: '7'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
2 5 15
output:
10
result:
ok single line: '10'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
10 8 13
output:
2
result:
ok single line: '2'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
6 6 19
output:
6
result:
ok single line: '6'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
2 3 5
output:
3
result:
ok single line: '3'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3556kb
input:
4 2 8
output:
6
result:
ok single line: '6'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
5 5 5
output:
2
result:
ok single line: '2'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
3 8 11
output:
4
result:
ok single line: '4'
Test #10:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
5 8 16
output:
5
result:
ok single line: '5'
Test #11:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
9 7 279
output:
70
result:
ok single line: '70'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
8 3 56
output:
25
result:
ok single line: '25'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
5 9 46
output:
14
result:
ok single line: '14'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
8 4 251
output:
93
result:
ok single line: '93'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
8 7 41
output:
10
result:
ok single line: '10'
Test #16:
score: 0
Accepted
time: 0ms
memory: 3572kb
input:
60 17 360
output:
27
result:
ok single line: '27'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
16 55 388
output:
31
result:
ok single line: '31'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
25 38 292
output:
18
result:
ok single line: '18'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
22 59 177
output:
11
result:
ok single line: '11'
Test #20:
score: -100
Wrong Answer
time: 0ms
memory: 3640kb
input:
4 3 82
output:
52
result:
wrong answer 1st lines differ - expected: '50', found: '52'