結果

問題 No.816 Beautiful tuples
ユーザー nGen114204427nGen114204427
提出日時 2019-04-22 19:54:44
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 1 ms / 1,500 ms
コード長 910 bytes
コンパイル時間 607 ms
コンパイル使用メモリ 28,320 KB
実行使用メモリ 4,384 KB
最終ジャッジ日時 2023-08-02 01:16:24
合計ジャッジ時間 2,242 ms
ジャッジサーバーID
(参考情報)
judge12 / judge13
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,380 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 0 ms
4,380 KB
testcase_03 AC 0 ms
4,384 KB
testcase_04 AC 0 ms
4,376 KB
testcase_05 AC 1 ms
4,380 KB
testcase_06 AC 1 ms
4,380 KB
testcase_07 AC 1 ms
4,380 KB
testcase_08 AC 1 ms
4,380 KB
testcase_09 AC 0 ms
4,376 KB
testcase_10 AC 1 ms
4,376 KB
testcase_11 AC 1 ms
4,380 KB
testcase_12 AC 1 ms
4,380 KB
testcase_13 AC 1 ms
4,380 KB
testcase_14 AC 0 ms
4,380 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<stdio.h>
int main(void){
    unsigned long long int A,B,ans,ans_ap,ans_bp,max_ans,n;
    scanf("%llu %llu%*c",&A,&B);
    if(A<B){
        ans_ap=B-A;//+=B*x
        ans_bp=A*(B/A+1)-B;//+=A*x
    }else{
        ans_ap=B*(A/B+1)-A;//+=B*x
        ans_bp=A-B;//+=A*x
    }
    max_ans=A+B;
    ans=ans_bp<ans_ap?ans_bp:ans_ap;
    while(ans<=max_ans){
        if(max_ans%ans==0&&(A+ans)%B==0&&(B+ans)%A==0&&ans!=A&&ans!=B)break;
        if(ans_ap<ans_bp){
            if(ans_ap+B<ans_bp){
                ans_ap+=B;
                ans=ans_ap;
            }else{
                ans=ans_bp;
                ans_bp+=A;
            }
        }else{
            if(ans_bp+A<ans_ap){
                ans_bp+=A;
                ans=ans_bp;
            }else{
                ans=ans_ap;
                ans_ap+=B;
            }
        }
    }
    if(ans>max_ans)printf("-1");
    else printf("%llu",ans);
}
0