제출 #1001477

#제출 시각아이디문제언어결과실행 시간메모리
1001477asdas은행 (IZhO14_bank)C++17
71 / 100
1085 ms148308 KiB
#include<bits/stdc++.h> #define pll pair<ll, ll> #define fi first #define se second #define ll int #define pb push_back #define ar array #define vi vector #define bit(i,x) ((x >> i) & 1ll) #define all(x) x.begin(),x.end() #define low(l,r,x) x.begin()+l,x.begin()+r #define len(l,r) (r-l+1) #define PI acos(-1.0) const long long mod = 1e9+7, N = 2e5, INF = 1e18, Log = 19, MASK = 1 << 19; template <class T> void setmin(T &a, T b) { if(b < a) a = b; } template <class T> void setmax(T &a, T b) { if(b > a) a = b; } template <class T> void add(T &a, T b) {a += b; if(a >= mod) a -= mod;} using namespace std; #define int long long ll dp[21][1 << 21]; ll fac[N+5]; void kazuha() { ll n , m; cin >> n >> m; ll a[n+5] , b[m+5]; ll pfs[n+5]; pfs[0] = 0; for(int i = 1; i <= n;i++) { cin >> a[i]; pfs[i] = pfs[i-1] + a[i]; } for(int j =0; j < m;j++) { cin >> b[j]; } ll s = (1 << m); for(int i = 0; i < s;i++) { ll cur = 0; for(int j = 0; j < m;j++) { if(bit(j, i)) cur += b[j]; } fac[i] = cur; } dp[0][0] = 1; for(int i = 1; i <= n;i++) { for(int msk = 1; msk < s;msk++) { if(fac[msk] != pfs[i]) continue; for(int sub = msk; sub ; sub = (sub -1) & msk) { if(fac[sub] == a[i] && dp[i-1][msk ^ sub]) { dp[i][msk] = 1; break; } } } } ll ans = 0; for(int i = 0; i < s;i++) { if(dp[n][i]) { cout << "YES\n"; return; } } cout << "NO\n"; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("permutation.cpp", "r", stdin); // freopen("permutation.cpp", "w", stdout); long long mitsu = 1; // cin >> mitsu; for(long long seele = 0; seele < mitsu;seele++) { // cout << "Case " << seele << " :"; kazuha(); } }

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

bank.cpp: In function 'void kazuha()':
bank.cpp:60:8: warning: unused variable 'ans' [-Wunused-variable]
   60 |     ll ans = 0;
      |        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...