제출 #725879

#제출 시각아이디문제언어결과실행 시간메모리
725879AndrijaM은행 (IZhO14_bank)C++14
19 / 100
75 ms296 KiB
#include <bits/stdc++.h> using namespace std; int n,m; int x[20]; int y[20]; int dp[23]; bool f(int idx,int mask) { if(idx==n) { return 1; } if(__builtin_popcount(mask)==m) { return 0; } if(dp[idx]!=-1)return dp[idx]; int rez=0; for(int i=0;i<(1<<m);i++) { int sum=0; if(i&mask) { } else { for(int bit=0;bit<=23;bit++) { if(i&(1<<bit)) { sum+=y[bit]; } } if(sum==x[idx]) { int bmask=mask; bmask|=i; rez|=f(idx+1,bmask); } } } return dp[idx]=rez; } int main() { ios::sync_with_stdio(0); memset(dp,-1,sizeof dp); cin>>n>>m; for(int i=0;i<n;i++)cin>>x[i]; for(int i=0;i<m;i++)cin>>y[i]; if(f(0,0)) { cout<<"YES"<<endl; return 0; } cout<<"NO"<<endl; return 0; }

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

bank.cpp: In function 'bool f(int, int)':
bank.cpp:46:19: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   46 |     return dp[idx]=rez;
      |            ~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...