AtCoder Beginner Contest 161 C整数式の導出の置き換え

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);
}

 

 

 

元の記事を660件公開 562 件を賞賛 48万回の閲覧

おすすめ

転載: blog.csdn.net/mrcrack/article/details/105321997