1 条题解

  • 0
    @ 2025-8-4 14:37:05

    O(1)O(1) 数学

    "mm 个连续非负整数相加的和"表示公差为 11 、有 mm 项的等差数列。 应用等差数列求和公式,判断是否存在整数的首项。

    注:时间较为紧,需要用 scanf、printf

    #include <iostream>
    using namespace std;
    
    int main() {
        int t;
        scanf("%d", &t);
        while (t--) {
            long long n, m;
            scanf("%lld%lld", &n, &m);
            long long sum = m * (m - 1) / 2;
            if (sum > n) {
                printf("NO\n");
                // cout << "NO\n";
                continue;
            }
            long long res = n - sum;
            if (res % m == 0) {
                printf("YES\n");
            } else {
                printf("NO\n");
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    485
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    12
    已通过
    5
    上传者