Submission #1694831
Source Code Expand
#include <iostream> #include <stack> #include <cstdio> #include <cstdlib> #include <cmath> #include <string> #include <vector> #include <queue> #include <map> #include <set> #include <tuple> #include <algorithm> #include <functional> #include <cstring> #include <limits.h> #define FOR(i,k,n) for (int i=(k); i<(int)(n); ++i) #define REP(i,n) FOR(i,0,n) #define FORIT(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();++i) #define SZ(i) ((int)i.size()) #define pb push_back #define mp make_pair #define mt make_tuple #define get0(x) (get<0>(x)) #define get1(x) (get<1>(x)) #define get2(x) (get<2>(x)) #define ALL(X) (X).begin(),(X).end() #define LLMAX 9223372036854775807LL #define LLMIN -9223372036854775808LL #define IMAX 2147483647 #define IMIN -2147483648 typedef long long LL; using namespace std; typedef vector<pair<int,int> > vp; vector<pair<int,int> > primeFactor(int num){ //first->prime,second->pow{ if(num==1){ vector<pair<int,int> > r; r.push_back(make_pair(1,1)); return r; } else{ vector<pair<int,int> > r; for(int i=2;i*i<=num;i++){ if(num%i==0){ int p=0; while(num%i==0) num/=i,p++; r.push_back(make_pair(i,p)); } } if(num!=1) r.push_back(make_pair(num,1)); return r; } } LL mod = 1e9+7; int main(void){ int N; cin>>N; map<int,int> ma; FOR(i,2,N+1){ auto pf = primeFactor(i); REP(i,SZ(pf)){ auto p = pf[i]; // printf("p.first=%d p.second=%d\n",p.first,p.second); ma[p.first]+=p.second; } } LL ans=1; for(auto it=ma.begin();it!=ma.end();it++){ ans*=((*it).second+1); ans%=mod; } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Factors of Factorial |
User | a_kawashiro |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 1983 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
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 | 2 ms | 256 KB |
subtask_1_rand_02.txt | AC | 2 ms | 256 KB |
subtask_1_rand_03.txt | AC | 1 ms | 256 KB |