Submission #300288

#TimeUsernameProblemLanguageResultExecution timeMemory
300288fpc_coderPoi (IOI09_poi)C++17
100 / 100
1138 ms16432 KiB
#include <bits/stdc++.h> using namespace std; struct Contestant { int score, ntasks, id; }; const int N = 2005; int status[N][N], task_score[N]; Contestant contestants[N]; bool cmp(Contestant a, Contestant b) { if (a.score != b.score) return a.score > b.score; if (a.ntasks != b.ntasks) return a.ntasks > b.ntasks; return a.id < b.id; } int main() { int n, t, p; cin >> n >> t >> p; for (int i = 1; i <= n; i++) { for (int j = 1; j <= t; j++) cin >> status[i][j]; } for (int j = 1; j <= t; j++) { for (int i = 1; i <= n; i++) task_score[j] += (status[i][j] == 0); } for (int i = 1; i <= n; i++) { contestants[i].score = 0; contestants[i].ntasks = 0; contestants[i].id = i; for (int j = 1; j <= t; j++) { if (status[i][j]) { contestants[i].score += task_score[j]; contestants[i].ntasks++; } } } sort(contestants + 1, contestants + n + 1, cmp); for (int i = 1; i <= n; i++) { if (contestants[i].id == p) { cout << contestants[i].score << ' ' << i << '\n'; return 0; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...