codeforces#687 B. Remainders Game
阿新 • • 發佈:2019-01-03
out true its rem space == tor con fin
題意:給出n個數,和一個數p,問你在知道 x%ai 的情況下,能不能確定x%p的值
結論:當n個數的最小公倍數是p的倍數時,可以確定
代碼:
#include <bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e6+10; vector<int>ve; int n,p; int main() { scanf("%d %d",&n,&p); for(int i=2; i*i<=p; i++) { if(p%i==0) { ll res=i; while(p%(res*i)==0&&p>=(res*i)) res*=i; p/=res; ve.push_back(res); } } if(p!=1)ve.push_back(p); for(int i=1; i<=n; i++) { int x; scanf("%d",&x); for(int i=0; i<ve.size(); i++) { if(ve[i]==0)continue; if(x%ve[i]==0)ve[i]=0; } } for(int i=0; i<ve.size(); i++) if(ve[i]!=0) { cout<<"No"<<endl; return 0; } cout<<"Yes"<<endl; return 0; }
codeforces#687 B. Remainders Game