Submission #423767

# Submission time Handle Problem Language Result Execution time Memory
423767 2021-06-11T12:27:35 Z haxorman Poi (IOI09_poi) C++14
55 / 100
1613 ms 31788 KB
#include <bits/stdc++.h>
using namespace std;

#define int long long
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 <= n; ++j) {
            if (solved[i][j]) {
                cnt++;
                cur += tasks[j];
            }
        }
        points[i] = {cur, {cnt, i}};
    }

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

                swap(points[i], points[i - 1]);
                ok = false;
            }
            else 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) {
        if (points[i].second.second == p) {
            cout << points[i].first << ' ' << i << "\n";
        }
    }
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 332 KB Output is correct
2 Incorrect 0 ms 332 KB Output isn't correct
3 Incorrect 0 ms 332 KB Output isn't correct
4 Correct 1 ms 332 KB Output is correct
5 Incorrect 1 ms 460 KB Output isn't correct
6 Correct 1 ms 460 KB Output is correct
7 Incorrect 1 ms 588 KB Output isn't correct
8 Correct 1 ms 588 KB Output is correct
9 Incorrect 2 ms 716 KB Output isn't correct
10 Correct 5 ms 1264 KB Output is correct
11 Incorrect 19 ms 2492 KB Output isn't correct
12 Correct 41 ms 3916 KB Output is correct
13 Incorrect 117 ms 7792 KB Output isn't correct
14 Correct 264 ms 10972 KB Output is correct
15 Incorrect 401 ms 16836 KB Output isn't correct
16 Correct 506 ms 18372 KB Output is correct
17 Incorrect 766 ms 23876 KB Output isn't correct
18 Correct 1064 ms 27176 KB Output is correct
19 Correct 1604 ms 31788 KB Output is correct
20 Correct 1613 ms 31688 KB Output is correct