Task: | kusac |
Sender: | Kuha |
Submission time: | 2016-07-27 14:53:34 +0300 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.06 s | details |
#3 | RUNTIME ERROR | 0.14 s | details |
#4 | RUNTIME ERROR | 0.13 s | details |
#5 | RUNTIME ERROR | 0.12 s | details |
#6 | ACCEPTED | 0.06 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.05 s | details |
#10 | WRONG ANSWER | 0.05 s | details |
#11 | ACCEPTED | 0.05 s | details |
Code
#include <bits/stdc++.h> #define ll long long #define INF 999999999 #define N (1<<17) #define M 1000000007 using namespace std; int gcd(int a, int b) { if (!b) return a; return gcd(b, a % b); } int main () { int n, m; cin>>n>>m; n = n % m; int ans = 0; if (!n) cout<<0<<endl; else if (n == m) cout<<0<<endl; else if (n < m) { int l = m; ans += n * (l / n); l %= n; if (!l) ans -= n; if (l) { if (m % l) { ans += l - 1; } } } int ans2 = INF; if (n < m) { int ans2 = n * (m % n); m -= m % n; if (n == m) n = n; else { m /= n; ans2 += n * m - n; } } cout<<min(ans, ans2)<<endl; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
2 6 |
correct output |
---|
4 |
user output |
---|
4 |
Test 2
Verdict: ACCEPTED
input |
---|
3 4 |
correct output |
---|
3 |
user output |
---|
3 |
Test 3
Verdict: RUNTIME ERROR
input |
---|
6 2 |
correct output |
---|
0 |
user output |
---|
0 |
Test 4
Verdict: RUNTIME ERROR
input |
---|
7 7 |
correct output |
---|
0 |
user output |
---|
0 |
Test 5
Verdict: RUNTIME ERROR
input |
---|
15 5 |
correct output |
---|
0 |
user output |
---|
0 |
Test 6
Verdict: ACCEPTED
input |
---|
15 16 |
correct output |
---|
15 |
user output |
---|
15 |
Test 7
Verdict: ACCEPTED
input |
---|
10 90 |
correct output |
---|
80 |
user output |
---|
80 |
Test 8
Verdict: ACCEPTED
input |
---|
79 56 |
correct output |
---|
55 |
user output |
---|
55 |
Test 9
Verdict: ACCEPTED
input |
---|
39 26 |
correct output |
---|
13 |
user output |
---|
13 |
Test 10
Verdict: WRONG ANSWER
input |
---|
56 98 |
correct output |
---|
84 |
user output |
---|
97 |
Test 11
Verdict: ACCEPTED
input |
---|
90 54 |
correct output |
---|
36 |
user output |
---|
36 |