Submission #423773

# Submission time Handle Problem Language Result Execution time Memory
423773 2021-06-11T12:33:21 Z haxorman Poi (IOI09_poi) C++14
100 / 100
340 ms 16032 KB
#include <bits/stdc++.h>
using namespace std;

const int mxN = 2007;

int tasks[mxN], solved[mxN][mxN];
pair<int,pair<int,int>> points[mxN];

int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n, t, p;
    cin >> n >> t >> p;

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= t; ++j) {
            cin >> solved[i][j];

            if (!solved[i][j])
                tasks[j]++;
        }
    }

    for (int i = 1; i <= n; ++i) {
        int cur = 0, cnt = 0;
        for (int j = 1; j <= t; ++j) {
            if (solved[i][j]) {
                cnt++;
                cur += tasks[j];
            }
        }
        points[i] = {cur, {cnt, i}};
    }
    sort(points + 1, points + n + 1, greater<pair<int,pair<int,int>>>());

    bool ok = false;
    while (!ok) {
        ok = true;
        for (int i = 2; i <= n && ok; ++i) {
            if (points[i].first == points[i - 1].first &&
                points[i].second.first == points[i - 1].second.first &&
                points[i].second.second < points[i - 1].second.second) {

                swap(points[i], points[i - 1]);
                ok = false;
            }
        }
    }

    for (int i = 1; i <= n; ++i) {
        auto cur = points[i];
        if (points[i].second.second == p) {
            cout << points[i].first << ' ' << i << "\n";
            break;
        }
    }
}

Compilation message

poi.cpp: In function 'int32_t main()':
poi.cpp:51:14: warning: variable 'cur' set but not used [-Wunused-but-set-variable]
   51 |         auto cur = points[i];
      |              ^~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 0 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 0 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 460 KB Output is correct
7 Correct 1 ms 588 KB Output is correct
8 Correct 1 ms 588 KB Output is correct
9 Correct 2 ms 716 KB Output is correct
10 Correct 4 ms 1228 KB Output is correct
11 Correct 11 ms 2004 KB Output is correct
12 Correct 18 ms 3084 KB Output is correct
13 Correct 58 ms 5420 KB Output is correct
14 Correct 74 ms 7600 KB Output is correct
15 Correct 126 ms 9648 KB Output is correct
16 Correct 132 ms 10508 KB Output is correct
17 Correct 207 ms 12036 KB Output is correct
18 Correct 221 ms 13636 KB Output is correct
19 Correct 295 ms 16012 KB Output is correct
20 Correct 340 ms 16032 KB Output is correct