제출 #1199822

#제출 시각아이디문제언어결과실행 시간메모리
1199822ofozTopical (NOI23_topical)C++17
12 / 100
1091 ms15996 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; bool higher(const vector<int>& a, const vector<int>& b) { for (size_t i = 0; i < a.size(); ++i) { if (a[i] > b[i]) return true; if (b[i] > a[i]) return false; } return true; } void solve() { int n, k; cin >> n >> k; vector<int> cur(k, 0); vector<pair<vector<int>, int>> a; vector<vector<int>> b(n); // Read a for (int i = 0; i < n; ++i) { vector<int> temp(k); for (int j = 0; j < k; ++j) { cin >> temp[j]; } a.push_back({temp, i}); } // Read b for (int i = 0; i < n; ++i) { b[i].resize(k); for (int j = 0; j < k; ++j) { cin >> b[i][j]; } } int res = 0; for (int _ = 0; _ < n; ++_) { vector<pair<vector<int>, int>> nxt; bool found = false; for (const auto& p : a) { const vector<int>& arr = p.first; int i = p.second; if (found) { nxt.push_back(p); continue; } if (higher(cur, arr)) { for (int j = 0; j < k; ++j) { cur[j] += b[i][j]; } found = true; ++res; continue; } nxt.push_back(p); } a = nxt; } cout << res << endl; } int main() { solve(); return 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...