/** SHAMI AL BASHAR PROTHOY PRESIDENCY INTERNATIONAL SCHOOL **/ #include <bits/stdc++.h> using namespace std; #define csee "Case "<<cs<<": " typedef long long ll; typedef long double ld; #define B begin() #define E end() #define F first #define S second #define pb push_back #define pp pop_back #define ins insert #define vi vector #define ins insert const ld pi=2*acos(0.0); ll T,cs=1; struct pt { ll x,y,t; }; /** THINK TWICE, CODE ONCE **/ void show(vi<ll>&v) { for(auto it:v)cout<<it<<' '; cout<<"\n"; } set<ll> filsub(vi<ll>v) { set<ll>temp; ll i,j,n=v.size(),sum; for(i=0;i<(1<<n);i++) { sum=0; for(j=0;j<n;j++) { if(i&(1<<j)) sum+=v[j]; } temp.ins(sum); } return temp; } void sol(ll cs) { set<ll>sa,sb; vi<ll>v,va,vb; ll n,i,a,k; cin>>n>>k; for(i=0;i<n;i++)cin>>a,v.pb(a); va.assign(v.B,v.E-n/2); vb.assign(v.B+(n+1)/2,v.E); sort(va.B,va.E); sort(vb.B,vb.E); sa=filsub(va); sb=filsub(vb); bool bl=false; for(auto it=sa.B;it!=sa.E;it++) { if(sb.count(k-*it)) { bl=true; break; } } cout<<csee<<((bl)?"Yes":"No")<<"\n"; } //CODE int main() { //freopen("inp.txt","r",stdin) scanf("%lld",&T); while(T--) sol(cs++); return 0; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter