제출 #885431

#제출 시각아이디문제언어결과실행 시간메모리
885431Isam은행 (IZhO14_bank)C++17
100 / 100
95 ms8696 KiB
#include<bits/stdc++.h> #ifdef DEBUG #include "debug.h" #else #define debug(...) void(37) #endif using namespace std; #define f first #define s second typedef pair<int, int> pii; signed main(){ ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); int N, M; cin >> N >> M; vector<int> people(N), money(M); for(register int i = 0; i < N; ++i) cin >> people[i]; for(register int i = 0; i < M; ++i) cin >> money[i]; vector<pii> dp(1 << M); dp[0] = {0, 0}; pii temp; bool flag{false}; for(register int mask = 0; mask < (1 << M); ++mask){ if(dp[mask].f == N){ flag = true; break;} for(register int j = 0; j < M; ++j){ if(mask & (1 << j)) continue; if(dp[mask].s + money[j] == people[dp[mask].f]){ temp = {dp[mask].f + 1, 0}; }else{ temp = {dp[mask].f, dp[mask].s + money[j]}; } dp[mask | (1 << j)] = max(dp[mask | (1 << j)], temp); } } cout << (flag ? "YES" : "NO") << '\n'; return 0; }

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

bank.cpp: In function 'int main()':
bank.cpp:20:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   20 |  for(register int i = 0; i < N; ++i) cin >> people[i];
      |                   ^
bank.cpp:21:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   21 |  for(register int i = 0; i < M; ++i) cin >> money[i];
      |                   ^
bank.cpp:26:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   26 |  for(register int mask = 0; mask < (1 << M); ++mask){
      |                   ^~~~
bank.cpp:28:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   28 |   for(register int j = 0; j < M; ++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...