Submission #1159614

#TimeUsernameProblemLanguageResultExecution timeMemory
1159614papannnPoi (IOI09_poi)C++20
5 / 100
366 ms16184 KiB
#include <bits/stdc++.h> using namespace std; class Contestant { public: int id; int solvedProblem; int score; vector<int> problems; Contestant() {} bool operator<(const Contestant& obj) const { if (this->score < obj.score) { return true; } if (this->score > obj.score) { return false; } if (this->score == obj.score) { if (solvedProblem < obj.solvedProblem) { return true; } if (solvedProblem > obj.solvedProblem) { return false; } } return id < obj.id; } }; int main () { int contestants, task, philip; cin >> contestants >> task >> philip; vector<Contestant> contestantArr; vector<int> scoreTask(task); int id = 1; while (contestants--) { Contestant contestant; for (int i = 0 ; i < task; i++) { int solved; cin >> solved; contestant.id = id; contestant.problems.push_back(solved); contestant.solvedProblem += solved; scoreTask[i] += !solved; } contestantArr.push_back(contestant); id++; } for (int i = 0 ; i < contestantArr.size(); i++) { int score = 0; for (int j = 0 ; j < contestantArr[i].problems.size(); j++) { if (contestantArr[i].problems[j] == 1) { score += scoreTask[j]; } } contestantArr[i].score = score; } sort(contestantArr.begin(), contestantArr.end()); for (int i = 0 ; i < contestantArr.size(); i++) { if (contestantArr[i].id == philip) { cout << contestantArr[i].score << " " << i + 1 << endl; break; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...