Submission #771889

#TimeUsernameProblemLanguageResultExecution timeMemory
771889BlockOGPoi (IOI09_poi)C++14
0 / 100
484 ms16008 KiB
#include <iostream> #include <algorithm> #include <utility> using namespace std; /* 5 3 2 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 */ struct Contestant { int score, problems, id; }; bool compare(Contestant a, Contestant b) { if (a.score > b.score) return true; if (a.score < b.score) return false; if (a.problems > b.problems) return true; if (a.problems < b.problems) return false; return a.id < b.id; } int solved[2000][2000]; int not_solved[2000]; Contestant score[2000]; int main() { int n, t, p; cin >> n >> t >> p; p--; for (int i = 0; i < n; i++) { score[i].id = i; for (int j = 0; j < t; j++) { cin >> solved[i][j]; if (solved[i][j]) score[i].problems++; else not_solved[j]++; } } for (int i = 0; i < n; i++) { for (int j = 0; j < t; j++) { if (solved[i][j]) score[i].score += not_solved[j]; } } sort(score, score + n, compare); for (int i = 0; i < n; i++) { if (score[i].id == p) { cout << i + 1 << endl; break; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...