Submission #3009797


Source Code Expand

#include <iostream>
#include <vector>
#include <map>

using namespace std;

typedef long long int lli;

map<lli, lli> prime_factor(lli n){
  map<lli, lli> res;
  for (lli i = 2; i * i <= n; i++) {
    while (n % i == 0) {
      ++res[i];
      n /= i;
    }
  }
  if (n != 1) res[n] = 1;
  return res;
}

int main(int argc, char const *argv[]) {
  lli n, ans=1, divs = 1000000007;
  cin >> n;
  map<lli, lli> mp;

  for (lli i = 1; i <= n; i++) {
    map<lli,lli> pf = prime_factor(i);
    for(auto x : pf){
      mp[x.first] += x.second;
    }
  }
  for (auto x : mp) {
    ans *= x.second+1;
    ans %= divs;
  }

  cout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task C - Factors of Factorial
User titohui
Language C++14 (GCC 5.4.1)
Score 300
Code Size 692 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 10
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_certain_01.txt, subtask_1_certain_02.txt, subtask_1_certain_03.txt, subtask_1_certain_04.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_rand_03.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 2 ms 256 KB
subtask_1_certain_01.txt AC 1 ms 256 KB
subtask_1_certain_02.txt AC 1 ms 256 KB
subtask_1_certain_03.txt AC 2 ms 256 KB
subtask_1_certain_04.txt AC 2 ms 256 KB
subtask_1_rand_01.txt AC 1 ms 256 KB
subtask_1_rand_02.txt AC 1 ms 256 KB
subtask_1_rand_03.txt AC 1 ms 256 KB