Submission #885363

#TimeUsernameProblemLanguageResultExecution timeMemory
885363IsamBank (IZhO14_bank)C++17
44 / 100
183 ms612 KiB
#include<bits/stdc++.h>

#ifdef DEBUG
  #include "debug.h"
#else
  #define debug(...) void(37)
#endif

using namespace std;

int A[21], B[21], N, M;

bool OK[21];

signed main(){
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> N >> M;
	for(register int i = 0; i < N; ++i) cin >> A[i];
	for(register int i = 0; i < M; ++i) cin >> B[i];
	for(register int i = 0; i < N; ++i){
		int mncnt{1000}, cnt(0);
		vector<int> get;
		for(register int mask = 0; mask <= (1 << M); ++mask){
			int sm(0);
			vector<int> tmp;
			for(register int j = 0; j < M; ++j){
				if(mask & (1 << j)){
					sm += B[j];
					tmp.emplace_back(j);
				}
			}
			if(sm ^ A[i]) continue;
			OK[i] = true;
			cnt = (int)tmp.size();
			if(cnt < mncnt){
				mncnt = cnt;
				get = tmp;
			}
		}
		for(auto j : get) B[j] = 0;
	}
	bool flag{true};
	for(register int i = 0; i < N; ++i) flag &= OK[i];
	cout << (flag ? "YES" : "NO") << '\n';
	return 0;
}

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:18:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   18 |  for(register int i = 0; i < N; ++i) cin >> A[i];
      |                   ^
bank.cpp:19:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   19 |  for(register int i = 0; i < M; ++i) cin >> B[i];
      |                   ^
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){
      |                   ^
bank.cpp:23:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |   for(register int mask = 0; mask <= (1 << M); ++mask){
      |                    ^~~~
bank.cpp:26:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   26 |    for(register int j = 0; j < M; ++j){
      |                     ^
bank.cpp:43:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   43 |  for(register int i = 0; i < N; ++i) flag &= OK[i];
      |                   ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...