Submission #1262350

#TimeUsernameProblemLanguageResultExecution timeMemory
1262350longsaumuiBank (IZhO14_bank)C++20
71 / 100
1095 ms436 KiB
#include <bits/stdc++.h> using namespace std; int n,m; vector<int> salary, bills; vector<bool> used; bool backtrack(int id) { if (id == n) return true; int lim = (1 << m); for (int mask = 1;mask < lim;mask++) { int sum = 0; bool ok = true; vector<int> used_temp; for (int i = 0;i < m;i++) { if (mask & (1 << i)) { if (used[i]) { ok = false; break; } sum += bills[i]; used_temp.push_back(i); } } if (ok && sum == salary[id]) { for (int i : used_temp) used[i] = true; if (backtrack(id + 1)) return true; for (int i : used_temp) used[i] = false; } } return false; } int main() { if (fopen("task.inp" , "r")) { freopen("task.inp" , "r" , stdin); freopen("task.out" , "w" , stdout); } ios_base::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin >> n >> m; salary.resize(n); bills.resize(m); used.resize(m , false); for (int i = 0;i < n;i++) cin >> salary[i]; for (int i = 0;i < m;i++) cin >> bills[i]; if (backtrack(0)) cout << "YES\n"; else cout << "NO\n"; return 0; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:35:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |         freopen("task.inp" , "r" , stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:36:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |         freopen("task.out" , "w" , stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...