Submission #1199715

#TimeUsernameProblemLanguageResultExecution timeMemory
1199715ofozTopical (NOI23_topical)C++20
12 / 100
566 ms8312 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; void nOne(int n, int k) { vector<vector<int>> grid(n, vector<int>(k)); for (int i = 0; i < n; ++i) for (int j = 0; j < k; ++j) cin >> grid[i][j]; vector<int> ben(k); for (int i = 0; i < k; ++i) cin >> ben[i]; sort(grid.begin(), grid.end()); int sum_first_row = 0; for (int j = 0; j < k; ++j) sum_first_row += grid[0][j]; if (sum_first_row == 0) cout << 1 << endl; else cout << 0 << endl; } void kOne(int n, int k) { vector<vector<int>> grid(n, vector<int>(k)); vector<vector<int>> ben(n, vector<int>(k)); for (int i = 0; i < n; ++i) for (int j = 0; j < k; ++j) cin >> grid[i][j]; for (int i = 0; i < n; ++i) for (int j = 0; j < k; ++j) cin >> ben[i][j]; vector<pair<int, int>> pairs; for (int i = 0; i < n; ++i) pairs.emplace_back(grid[i][0], ben[i][0]); sort(pairs.rbegin(), pairs.rend()); int cur = 0, res = 0; while (!pairs.empty() && cur >= pairs.back().first) { cur += pairs.back().second; pairs.pop_back(); res++; } cout << res << endl; } void solve() { int n, k; cin >> n >> k; if (n == 1) nOne(n, k); else if (k == 1) kOne(n, k); } 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...