AtCoder Beginner Contest 161 出場者の 数は9927人 で、コンテスト開始5分後にすべての質問をご覧ください
AtCoder Beginner Contest 161 C整数式の導出の置き換え
一般的なカタログについては、https://blog.csdn.net/mrcrack/article/details/104454762を参照してください
オンライン評価用アドレスhttps://atcoder.jp/contests/abc161/tasks/abc161_c
手動シミュレーションの例
7 4
1
|7-4|=3
|3-4|=1
|1-4|=3
|3-4|=1
2 6
2
|2-6|=4
|4-6|=2
|2-6|=4
|4-6|=2
上記のシミュレーションで確認されたように、n%k、kの差分演算で最小値が見つかります。最初にn%= k、次にn <k
| nk | = kn、
| knk | = n、
| nk | = kn、
| knk | = n
したがって、答えはn、knの最小値を見つけるだけです。
ACコードは以下の通りです
#include <stdio.h>
#define LL long long
int main(){
LL n,k;
scanf("%lld%lld",&n,&k);
n%=k;
if(n>k-n)printf("%lld\n",k-n);
else printf("%lld\n",n);
}