求证正确性
查看原帖
求证正确性
910101
dlsnb楼主2023/5/28 20:15
//
//  main.cpp
//  U276692 「DROI」Round 2 构造与取模
//
//  Created by SkyWave Sun on 2023/5/28.
//

#include <iostream>
using namespace std;
void solve() {
    long long n, k;
    scanf("%lld%lld",&n,&k);
    if (n < k) {
        puts("-1");
        return;
    }
    long long tmp = n - k;
    for (long long i = 1; i * i * i <= n - k; ++i){
        if (tmp % i == 0) {
            long long y = tmp / i;
            long long x = n - y;
            if (x >= 0 && y > 0 && x % y == k) {
                printf("%lld %lld\n", x, y);
                return;
            }
        }
    }
    puts("-1");
}
int main(int argc, const char * argv[]) {
    int T;
    scanf("%d",&T);
    while (T--) {
        solve();
    }
    return 0;
}

赛时枚举因数60分,冥思苦想时想到了atc的某道传统艺能题只要枚举到立方根,反正是IOI赛制,遂就试试枚举到立方根,发现过了。数论不好的我提问,这个东西有正确性吗?

2023/5/28 20:15
加载中...