提出 #32046823


ソースコード 拡げる

N, A, B = map(int, input().split())


def sum(first, end, interval):
    if end < first:
        return 0
    num = (end - first) // interval + 1
    return (first + end) * num // 2


def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


def lcm(a, b):
    return a * b // gcd(a, b)


L = lcm(A, B)

# print(sum(1, N, 1), sum(A, N - N % A, A), sum(B, N - N % B, B), sum(L, N - N % L, L))
print(sum(1, N, 1) - sum(A, N - N % A, A) - sum(B, N - N % B, B) + sum(L, N - N % L, L))

提出情報

提出日時
問題 D - FizzBuzz Sum Hard
ユーザ gae1202
言語 Python (3.8.2)
得点 400
コード長 536 Byte
結果 AC
実行時間 29 ms
メモリ 9124 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 2
AC × 20
セット名 テストケース
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 02_max_01.txt, 02_max_02.txt, 02_max_03.txt, 02_max_04.txt, 02_max_05.txt, 02_max_06.txt, 02_max_07.txt, 02_max_08.txt, 02_max_09.txt, 02_max_10.txt, 02_max_11.txt, 02_max_12.txt, 02_max_13.txt
ケース名 結果 実行時間 メモリ
00_sample_01.txt AC 22 ms 8864 KiB
00_sample_02.txt AC 20 ms 9084 KiB
01_random_01.txt AC 29 ms 8968 KiB
01_random_02.txt AC 21 ms 9008 KiB
01_random_03.txt AC 19 ms 9084 KiB
01_random_04.txt AC 19 ms 8972 KiB
01_random_05.txt AC 19 ms 8864 KiB
02_max_01.txt AC 22 ms 8860 KiB
02_max_02.txt AC 22 ms 8996 KiB
02_max_03.txt AC 20 ms 8872 KiB
02_max_04.txt AC 22 ms 8868 KiB
02_max_05.txt AC 22 ms 9080 KiB
02_max_06.txt AC 23 ms 8872 KiB
02_max_07.txt AC 26 ms 8872 KiB
02_max_08.txt AC 24 ms 9020 KiB
02_max_09.txt AC 19 ms 8960 KiB
02_max_10.txt AC 23 ms 9112 KiB
02_max_11.txt AC 18 ms 9124 KiB
02_max_12.txt AC 20 ms 9004 KiB
02_max_13.txt AC 20 ms 8964 KiB