#37857: c++ 求解(卡40%)


jason0713 ((ง⁼ω⁼)งꉂ(ˊᗜˋ*))


#include <iostream>
using namespace std;
int n,m,d,a;
inline int read(){
  int x=0;char ch=getchar();
  while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  return x;
}
bool check(){
for(int i=0;i<=a/n;i++){
if((a-(i*n))%m==0){
return true;
}
  }
  return false;
}
int main(){
  n=read();m=read();d=read();
  for(int i=0;i<d;i++){
  a=read();
  if(check()){
  puts("YES");
  }else{
  puts("NO");
  }
  }
}
#37860: Re: c++ 求解(卡40%)


proglohas@gmail.com (david)


用迴圈應該是會超時。

可以參考這篇

https://www.cnblogs.com/1621325877qq/p/10894859.html

當 ax + by = c ,  a 跟 b 都非負解時為 yes