/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 2ms 324.0 KiB
#3 Accepted 1ms 320.0 KiB
#4 Accepted 12ms 324.0 KiB
#5 Time Exceeded ≥1103ms ≥119.91 MiB
#6 Time Exceeded ≥1096ms ≥119.816 MiB
#7 Time Exceeded ≥1094ms ≥119.754 MiB
#8 Time Exceeded ≥1087ms ≥12.328 MiB

Code

#include <bits/stdc++.h>
using namespace std;

vector<bool> sieve(int num){
    const int N = num + 1;
    vector<bool> isPrime(N, true);
    isPrime[0] = isPrime[1] = false;

    for (int i = 2; i * i < N; ++i){
        if (isPrime[i]) {
            for (int j = i * i; j < N; j += i){
                isPrime[j] = false;
            }
        }
    }
    return isPrime;
}

int max_div(int num){
    long long int highest = 1;
    for (int i = num / 2; i >= 1; i--){
        if (num % i == 0){
            highest = i;
            break;
        }
    }
    return highest;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int t;
    cin >> t;
    while (t--) {
        long long int n;
        cin >> n;

        if (n % 2 == 0){
            cout << n / 2 << endl;;
        }
        else if (sieve(n)[n]){
            cout << 1 << endl;
        } 
        else {
            long long int ans = max_div(n);
            cout << ans << endl;
        }
    }

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1052 Yet Another Array Partition
Contest
Brain Booster #3
Language
C++17 (G++ 13.2.0)
Submit At
2024-05-06 16:49:40
Judged At
2024-10-03 13:49:33
Judged By
Score
25
Total Time
≥1103ms
Peak Memory
≥119.91 MiB