// Madi abi crush !
#include <bits/stdc++.h>
using namespace std ;
#define ll long long
#define pb push_back
#define sz(x) (int)x.size()
#define all(x) begin(x), end(x)
const int N = 1e5 + 1 ;
int n , m , a[20] , b[20] ;
ll pref[20] ;
int dp[20][(1 << 20) + 1] ;
// 1 5
// 8
// 4 2 5 1 3
bool go(int i , int mask , ll cur) {
if (cur == pref[i]) {
i++ , dp[i][mask] = 1 ;
}
if (i >= n) {
cout << "YES\n" ;
exit(0) ;
}
if (~dp[i][mask]) return dp[i][mask] ;
bool ans = 0 ;
for (int j = 0; j < m ; j++) {
if ((mask >> j & 1) == 0) {
ans = max(ans , go(i , (mask | (1 << j)) , cur + b[j])) ;
}
}
dp[i][mask] = ans ;
return ans ;
}
void solve() {
memset(*dp, -1, sizeof(dp)) ;
cin >> n >> m ;
for (int i = 1 ; i <= n ; i++) {
cin >> a[i - 1] ;
}
for (int i = 0 ; i < n ; i++) {
if (i) pref[i] = pref[i - 1] ;
pref[i] += a[i] ;
}
for (int i = 1 ; i <= m ; i++) {
cin >> b[i - 1] ;
}
go(0,0,0) ;
cout << "NO\n" ;
}
int main() {
ios::sync_with_stdio(false) ;
cin.tie(0) ;
int test = 1 ;
// cin >> test ;
for (int i = 1 ; i <= test ; i++) {
solve() ;
}
return 0 ;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
42 ms |
82276 KB |
Output is correct |
2 |
Correct |
38 ms |
82344 KB |
Output is correct |
3 |
Correct |
36 ms |
82388 KB |
Output is correct |
4 |
Correct |
34 ms |
82268 KB |
Output is correct |
5 |
Correct |
157 ms |
82384 KB |
Output is correct |
6 |
Correct |
37 ms |
82328 KB |
Output is correct |
7 |
Correct |
35 ms |
82348 KB |
Output is correct |
8 |
Correct |
35 ms |
82380 KB |
Output is correct |
9 |
Correct |
148 ms |
82380 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
38 ms |
82308 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
43 ms |
82268 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
42 ms |
82276 KB |
Output is correct |
2 |
Correct |
38 ms |
82344 KB |
Output is correct |
3 |
Correct |
36 ms |
82388 KB |
Output is correct |
4 |
Correct |
34 ms |
82268 KB |
Output is correct |
5 |
Correct |
157 ms |
82384 KB |
Output is correct |
6 |
Correct |
37 ms |
82328 KB |
Output is correct |
7 |
Correct |
35 ms |
82348 KB |
Output is correct |
8 |
Correct |
35 ms |
82380 KB |
Output is correct |
9 |
Correct |
148 ms |
82380 KB |
Output is correct |
10 |
Incorrect |
38 ms |
82308 KB |
Output isn't correct |
11 |
Halted |
0 ms |
0 KB |
- |