比赛 |
EYOI暨SBOI暑假快乐赛4th |
评测结果 |
AAEEEEEEEE |
题目名称 |
选题 |
最终得分 |
20 |
用户昵称 |
00000 |
运行时间 |
1.731 s |
代码语言 |
C++ |
内存使用 |
4.77 MiB |
提交时间 |
2022-06-28 11:50:39 |
显示代码纯文本
- #include<bits/stdc++.h>
- #define ll long long
- using namespace std;
- ll m,n,q,p,k[10005],kk=0,s[10005],h[10005],hh=0,a,b,c=1;
- int main(){
- freopen("mathproblem.in","r",stdin);
- freopen("mathproblem.out","w",stdout);
- cin>>n>>m>>q;
- for(int w=1;w<=sqrt(n);w++)
- {
- // if(w==1) cout<<n%w;
- if(n%w==0)
- {
- // cout<<w<<endl;
- k[++kk]=w;
- if(w*w!=n)
- k[++kk]=n/w;
- }
- }
- //for(int w=1;w<=kk;w++)
- //{
- // cout<<k[w]<<endl;
- //}
- ll x=0,y=1,z=1;
- for(int w=1;w<=kk;w++)
- {
- y=1,z=1;
- for(int e=n;e>n-k[w];e--)
- {
- z=z*e;
- }
- for(int e=1;e<=k[w];e++) y=y*e;
- x=x+z/y;
- }
- //cout<<x<<endl;
- for(int w=2;w<=m;w++)
- {
- if(s[w]==0)
- {
- h[++hh]=w;
- for(int e=2;e*w<=m;e++)
- {
- s[e*w]=1;
- }
- }
- }
- //for(int w=1;w<=hh;w++)
- //{
- // cout<<h[w]<<endl;
- //}
- for(int e=1;e<=q;e++)
- {
- cin>>a;
- c=1;
- for(int w=1;w<=a;w++)
- {
- cin>>b;
- c=c*h[b];
- }
- cout<<x%c<<endl;
- // cout<<c<<endl;
- }
-
- return 0;
- }
-