/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Wrong Answer 1ms 540.0 KiB
#2 Accepted 1ms 540.0 KiB
#3 Accepted 4ms 540.0 KiB
#4 Accepted 30ms 796.0 KiB
#5 Accepted 121ms 2.219 MiB
#6 Accepted 50ms 924.0 KiB
#7 Accepted 48ms 1.16 MiB
#8 Accepted 183ms 796.0 KiB
#9 Accepted 52ms 1.242 MiB
#10 Accepted 302ms 1.004 MiB
#11 Time Exceeded ≥1097ms ≥2.324 MiB

Code


#include <iostream>
//minhazchyz
#include<bits/stdc++.h>
#include <vector>
#include <map>
#include <cmath>

const int m= 1000000007;
void fact(int num, std::map<int, int> &cnt) {
    for (int i = 2; i <= std::sqrt(num);i++) {
        while (num % i == 0) {
            cnt[i]++;
            num /= i;
        }
    }
    if (num > 1) {
        cnt[num]++;
    }
}
int main() {
    int n;
    std::cin >> n;
    std::vector<int> A(n);
    for (int i = 0; i < n; ++i) {
        std::cin >> A[i];
    }

    std::map<int,int>cnt;
    for (int i = 0; i < n; ++i) {
        fact(A[i],cnt);
    }
    long long td = 1;
    for (const auto&entry:cnt) {
        td=(td* (entry.second + 1)) %m;
    }
    std::cout <<td<< std::endl;
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1060 Divisor
Language
C++20 (G++ 13.2.0)
Submit At
2024-05-18 11:28:05
Judged At
2024-05-18 11:28:05
Judged By
Score
85
Total Time
≥1097ms
Peak Memory
≥2.324 MiB