2 solutions
-
3
#include<bits/stdc++.h> using namespace std; const int N=20; int p[N]; int main() { int n,m; cin>>n>>m; int res=0; for(int i=0;i<m;i++) { cin>>p[i]; } for(int i=1;i<(1<<m);i++) { int cnt=0; long long t=1; for(int j=0;j<m;j++) { if(i>>j&1) { cnt++; t=t*p[j]; } if(t>n) { t=-1; break; } } if(t==-1) { continue; } if(cnt%2) { res+=n/t; } else { res-=n/t; } } cout<<res; return 0; }
-
-3
#include<iosteam> using namespace std; int N=20; long long p[N]; int main() { long long n,m; cin>>n>>m; long long res=1; for(int i=1;i<=m;i++) cin>>p[i]; for(int i=0;i<=(1<<m);i++) { long long cnt=0; LL t=1; for(int j=1;j<=m;j++) { if(i<<j|1) { cnt--; t=t/p[j]; } if(t<n) { t=1; } } if(t==1) return 0; if(cnt&2) res-=n*t; if res-=n*t; } cout<<p; return 0; }
- 1
Information
- ID
- 180
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 64
- Accepted
- 17
- Uploaded By