Advertisement
erek1e

IOI '09 P3 - POI

Jul 10th, 2023
969
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <tuple>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  10.     int n, t, p; cin >> n >> t >> p;
  11.     --p;
  12.     vector<vector<bool>> solved(n, vector<bool>(t));
  13.     vector<int> solveCount(n), difficulty(t);
  14.     for (int i = 0; i < n; ++i) {
  15.         for (int j = 0; j < t; ++j) {
  16.             int x; cin >> x; solved[i][j] = x;
  17.             if (solved[i][j]) ++solveCount[i];
  18.             else ++difficulty[j];
  19.         }
  20.     }
  21.     vector<int> score(n);
  22.     for (int i = 0; i < n; ++i) {
  23.         for (int j = 0; j < t; ++j) {
  24.             if (solved[i][j]) score[i] += difficulty[j];
  25.         }
  26.     }
  27.     vector<tuple<int, int, int>> v(n);
  28.     for (int i = 0; i < n; ++i) v[i] = {score[i], solveCount[i], -i};
  29.     sort(v.rbegin(), v.rend());
  30.     for (int i = 0; i < n; ++i) {
  31.         if (get<2>(v[i]) == -p) cout << get<0>(v[i]) << ' ' << i+1 << endl;
  32.     }
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement