제출 #1284315

#제출 시각아이디문제언어결과실행 시간메모리
1284315limon4ick은행 (IZhO14_bank)C++20
0 / 100
1095 ms1048 KiB
/*#pragma GCC optimize("Ofast,no-stack-protector,unroint-loops,fast-math,O3") #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #pragma GCC optimization("unroint-loops") #pragma ("reroint") */ #include <bits/stdc++.h> using namespace std; //#define int long long #define pb push_back #define ins insert #define F first #define S second const int mod = 1e9 + 7,N = 5e5 + 100; bool was[11]; int n,m; int a[11],b[11]; bool ok = 0; void rec(int j){ if(j==n+1){ ok = 1; return; } for(int msk = 0;msk<(1 << m);msk++){ int sum = 0; for(int i = 1;i<=m;i++){ if(was[i] || !(msk & (1 << (i - 1)))) continue; sum+=b[i]; } if(sum==a[j]){ for(int i = 1;i<=m;i++){ if(was[i] || !(msk & (1 << (i - 1)))) continue; was[i] = 1; } rec(j+1); for(int i = 1;i<=m;i++){ if(msk & (1 << (i-1))) was[i] = 0; } } } } signed main(){ //freopen("justcoding.in","r",stdin); //freopen("justcoding.out","w",stdout); std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> m; for(int i = 1;i<=n;i++) cin >> a[i]; for(int i = 1;i<=m;i++) cin >> b[i]; rec(1); if(ok) cout << "YES\n"; else cout << "NO\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...