제출 #655769

#제출 시각아이디문제언어결과실행 시간메모리
655769asiat은행 (IZhO14_bank)C++14
19 / 100
1 ms212 KiB
#include <bits/stdc++.h> #define int long long #define endl '\n' using namespace std; main(){ cin.tie(0)->sync_with_stdio(0); int n; cin >> n; int m; cin >> m; vector <int> v(n), g(m); for (int i = 0; i < n; i++)cin >> v[i]; for (int i = 0; i < m; i++)cin >> g[i]; if(n > m){ cout << "NO" << endl; return 0; } if(n == m){ sort(v.begin(), v.end()); sort(g.begin(), g.end()); if(v == g){ cout << "YES" << endl; }else cout << "NO" << endl; return 0; } if(n == 1){ vector <int> dp(v[0]+1); dp[0] = 1; for (int i = 0; i < m; i++){ for (int j = v[0]; j >= 1; j--){ if(j-g[i] >= 0 and dp[j-g[i]])dp[j] = 1; } } if(dp[v[0]]){ cout << "YES" << endl; }else cout << "NO" << endl; return 0; } if(m <= 10){ sort(v.begin(), v.end()); sort(g.begin(), g.end()); do{ int cnt = 0; int ok = 0; for (int i = 0; i < n; i++){ int sum = 0; while(sum < v[i] and cnt < m){ sum+=g[cnt]; cnt++; } if(cnt == m or sum != v[i]){ ok = 1; break; } } if(!ok){ cout << "YES"; return 0; } }while(next_permutation(g.begin(), g.end())); cout << "NO" << endl; return 0; } return 0; }

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

bank.cpp:5:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    5 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...