HELP! (TLE)
查看原帖
HELP! (TLE)
1323198
Zengzile622楼主2024/10/19 13:01

60分!TLE

#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
    int _ , n , k;

    //freopen("a.in" , "r" , stdin);
    //freopen("a.out" , "w" , stdout);
    vector <int> mod;
    scanf("%lld" , &_);
    while(_--){
        scanf("%lld%lld" , &n , &k);
        if(k == 0){
            printf("1\n");
            continue;
        }
        int maxn = floor(double(n) / k) , ans = 0 ,
            maxs = 0;
        mod.erase(mod.begin() , mod.end());
        for(int i = maxn ; i >= 1 ; i--){
            if(n / i > k){
                break;
            }
            int r2 = n % i , k2 = n / i;
            if(k2 != k){
                continue;
            }

            auto it = find(mod.begin() , mod.end() , r2);
            if(mod.size() == 0){
                mod.push_back(n % i);
                continue;
            }
            if(it == mod.end()){
                mod.push_back(n % i);
            }

        }
        printf("%lld\n" , (long long)mod.size());
    }

    return 0;
}
2024/10/19 13:01
加载中...