50求助QAQ
查看原帖
50求助QAQ
236980
王炸拆开打楼主2022/9/26 17:09
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
#define Re register
using namespace std;
int n,k;
int a[1001];
inline int read(){
	Re int x=0,f=1;char ch=getchar();
	while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
	while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
	return x*f;
}
int main(){
	Re int T=read();
	while(T--){
		n=read();k=read();
		Re int sgnk=1,sgna=1,f=0;
		if(k<0) sgnk=-1;
		//a[1]=read();
		//if(a[1]<0) sgna=-1;
		//if(sgna!=sgnk) f=0;
		for(int i=1;i<=n;++i){
			a[i]=read();
			if(sgnk==-1&&a[i]<0) f=1;
			if(sgnk==1&&a[i]>0) f=1;
		}
		if(f){
			printf("Yes\n");
			continue;
		}
		Re int tl=n;
		for(int i=1;i<=n;++i)
			for(int j=i+1;j<=n;++j)
				if(a[i]+a[j]) a[++tl]=a[i]+a[j];
		for(int i=1;i<=tl;++i){
			if(sgnk>0&&a[i]<0&&k%(0-a[i])!=0) f=1;
			if(sgnk<0&&a[i]>0&&(0-k)%a[i]!=0) f=1;
		}
		if(f) printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}

真不会了大佬们,教教我,代码可能有些繁琐

2022/9/26 17:09
加载中...