/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Time Exceeded ≥2600ms ≥4.34 MiB
#2 Time Exceeded ≥2594ms ≥4.27 MiB

Code

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int nat(int x) {
    return x * (x + 1) / 2;
}

int countDivisors(int n) {
    int ans = 1;
    for (int i = 2; i * i <= n; ++i) {
        int c = 0;
        while (n % i == 0) {
            ++c;
            n /= i;
        }
        ans *= (c + 1);
    }
    if (n > 1) ans *= 2;
    return ans;
}
int main() {
    const int MAX = 1000000;
    vector<int> arr(MAX + 1);
    for (int i = 1; i <= MAX; ++i) {
        arr[i] = countDivisors(nat(i));
    }
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin>>n;
        int idx=1,mx=arr[1];
        for (int i=2;i<=n;++i) {
            if (arr[i]>mx) {
                mx=arr[i];
            }
        }
        cout << mx << endl;
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1180 Maximum Divisor
Contest
Brain Booster #9
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-06 17:57:21
Judged At
2025-04-06 17:57:21
Judged By
Score
0
Total Time
≥2600ms
Peak Memory
≥4.34 MiB