/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 496.0 KiB
#2 Accepted 2ms 540.0 KiB
#3 Accepted 7ms 592.0 KiB
#4 Accepted 29ms 1.047 MiB
#5 Accepted 108ms 2.246 MiB
#6 Accepted 51ms 920.0 KiB
#7 Accepted 48ms 1.27 MiB
#8 Accepted 183ms 924.0 KiB
#9 Accepted 53ms 1.168 MiB
#10 Accepted 302ms 924.0 KiB
#11 Time Exceeded ≥1099ms ≥2.277 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-19 10:33:46
Judged At
2024-05-19 10:33:46
Judged By
Score
90
Total Time
≥1099ms
Peak Memory
≥2.277 MiB