백준 2535 c++
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
bool compare(vector<int>A, vector<int>B)
{
return A[2] > B[2];
}
void input_score(vector<vector<int>>& score)
{
int N, i, j;
int country, num, personal_score;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> country >> num >> personal_score;
score.push_back({ country, num, personal_score });
}
sort(score.begin(), score.end(), compare);
/*for (vector<int> temp : score)
{
cout << temp[0] << " " << temp[1] << " " << temp[2] << "\n";
}*/
return;
}
void find_answer(vector<vector<int>> &score)
{
int i;
int count = 0;
map <int, int> country;
int current_country, current_num, current_score;
for (i = 0; i < score.size(); i++)
{
current_country = score[i][0];
current_num = score[i][1];
current_score = score[i][2];
if (count == 3)
{
break;
}
if (country[current_country] < 2)
{
country[current_country]++;
cout << current_country << " " << current_num << "\n";
count++;
}
else
{
continue;
}
}
return;
}
int main(void)
{
ios_base::sync_with_stdio;
cin.tie(NULL);
cout.tie(NULL);
vector<vector<int>> score;
input_score(score);
find_answer(score);
return 0;
}