HDU2141 真:自己源码

来源:互联网 发布:剑灵免费捏脸数据大全 编辑:程序博客网 时间:2024/05/15 08:43

我的AC代码

#include"iostream"#include"cstdio"#include"cstdlib"using namespace std;int a[505],b[505],c[505],ab[250005];int l,m,n,s;int num=0;int countk=0;bool judge(int sum){int left=1;int right=countk;int mid;while(left<=right){mid=(left+right)>>1;if(ab[mid]==sum) return 1;else{if(ab[mid]>sum) right=mid-1;else left=mid+1;}}return 0;}int cmp(const void *a,const void *b){return *(int*)a-*(int*)b;}int main(){while(scanf("%d%d%d",&l,&m,&n)!=-1){num++;countk=0;for(int i=1;i<=l;i++) cin>>a[i];for(int i=1;i<=m;i++) cin>>b[i];for(int i=1;i<=n;i++) cin>>c[i];for(int i=1;i<=l;i++){for(int j=1;j<=m;j++){countk++;ab[countk]=a[i]+b[j];}}cin>>s;cout<<"Case "<<num<<':'<<endl;qsort(ab+1,countk,sizeof(int),cmp);qsort(c+1,n,sizeof(int),cmp);while(s--){int x;cin>>x;int i;for(i=1;i<=n;i++){int sum=x-c[i];if(judge(sum)){cout<<"YES"<<endl;break;}}if(i==n+1) cout<<"NO"<<endl;}}return 0;}


1 0
原创粉丝点击