제출 #37774

#제출 시각아이디문제언어결과실행 시간메모리
37774mirbek01은행 (IZhO14_bank)C++14
46 / 100
78 ms4768 KiB
# include <bits/stdc++.h> # define pb push_back # define fr first # define sc second # define mk make_pair using namespace std; const int inf = 1e9 + 7; const int N = 1e6 + 5; typedef long long ll; int n, m, a[N], b[N], pw[100], pref[N], dp[1 << 20], c[N], sum[1 << 20]; vector <int> v[30]; int main() { pw[0] = 1; for(int i = 1; i < 30; i ++) pw[i] = pw[i - 1] * 2; cin >> n >> m; for(int i = 0; i < n; i ++) cin >> a[i]; for(int i = 0; i < m; i ++) cin >> b[i]; for(int mask = 0; mask < pw[m]; mask ++) { for(int j = 0; j < m; j ++) { int bit = (mask & pw[j]); if(bit) sum[mask] += b[j]; } } for(int i = 0; i < n; i ++) { if(i == 0) { for(int mask = 0; mask < pw[m]; mask ++) if(sum[mask] == a[i]) v[i].pb(mask); } else { for(int mask = 0; mask < pw[m]; mask ++) { for(int j = 0; j < v[i - 1].size(); j ++) { int musk = v[i - 1][j], s = sum[mask]; if(!(mask & musk)) if(s == a[i]) v[i].pb(mask); } } } } if(v[n - 1].size()) puts("YES"); else puts("NO"); }

컴파일 시 표준 에러 (stderr) 메시지

bank.cpp: In function 'int main()':
bank.cpp:54:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                         for(int j = 0; j < v[i - 1].size(); j ++)
                                        ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...