제출 #852644

#제출 시각아이디문제언어결과실행 시간메모리
852644batsukh2006은행 (IZhO14_bank)C++11
100 / 100
358 ms21592 KiB
#include<iostream> #include<stdio.h> #include<math.h> #include<map> #include<string> #include<algorithm> #include<vector> #include<string.h> #include<utility> #include<set> #include<cmath> #include<queue> #include<deque> #include<functional> #include<stack> #include<limits.h> #include<iomanip> #include<unordered_map> using namespace std; #define MOD 1000000007 #define int long long #define endl '\n' void solve(){ int n,m; cin>>n>>m; int a[n+1],b[m+1]; int sum=0; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=1; i<=m; i++) cin>>b[i]; vector<vector<bool> > dp(n+1,vector<bool>(1<<m)); vector<int> v[200001]; for(int i=0; i<(1<<m); i++){ int sum=0; for(int j=0; j<m; j++){ if(i&(1<<j)) sum+=b[j+1]; } v[sum].push_back(i); } dp[0][0]=1; for(int i=1; i<=n; i++){ for(int j=0; j<(1<<m); j++){ if(dp[i-1][j]){ for(int l=0; l<v[a[i]].size(); l++){ if((j&v[a[i]][l])==0) dp[i][j|v[a[i]][l]]=1; } } } } for(int i=0; i<(1<<m); i++){ if(dp[n][i]){ cout<<"YES"; return; } } cout<<"NO"; } signed main(){ // freopen("file.in", "r", stdin); // freopen("file.out", "w", stdout); ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t=1; // cin>>t; while(t--){ solve(); cout<<endl; } return 0; }

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

bank.cpp: In function 'void solve()':
bank.cpp:45:19: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for(int l=0; l<v[a[i]].size(); l++){
      |                  ~^~~~~~~~~~~~~~~
bank.cpp:29:6: warning: unused variable 'sum' [-Wunused-variable]
   29 |  int sum=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...