标签:
Time Limit: 12000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5008 Accepted Submission(s): 1421
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<cstdlib> #include<algorithm> #define LL long long using namespace std; LL n,m,num[15],ans; LL gcd(LL a,LL b) { return b>0?gcd(b,a%b):a; } void dfs(int id,int flag,LL LCM) { LCM=num[id]/gcd(num[id],LCM)*LCM; if(flag) ans+=n/LCM; else ans-=n/LCM; for(int i=id+1;i<=m;i++) dfs(i,!flag,LCM); } int main() { while(scanf("%I64d%I64d",&n,&m)!=EOF) { n--; ans=0; for(int i=1;i<=m;i++) { scanf("%I64d",&num[i]); if(num[i]==0) i--,m--; } sort(num+1,num+1+m); for(int i=1;i<=m;i++) dfs(i,1,num[i]); printf("%I64d\n",ans); } return 0; }
标签:
原文地址:http://www.cnblogs.com/a972290869/p/4440749.html