Submission
Status:
[PPPPP][PPPPP]
Subtask/Task Score:
{50/50}{50/50}
Score: 100
User: koon
Problemset: จุดแวะพัก
Language: cpp
Time: 0.014 second
Submitted On: 2026-03-03 15:30:34
#include <bits/stdc++.h>
using namespace std;
struct P{
string name;
int g;
};
bool st(P a, P b) {
if (a.g == b.g) {
return a.name < b.name;
} else {
return a.g < b.g;
}
}
int main() {
int n; cin >> n;
int m; cin >> m;
cin.ignore();
vector<P> data;
for (int i = 0; i < n; i++) {
string line;
getline(cin, line);
stringstream ss(line);
string s;
ss >> s;
int x;
int cnt = 0;
bool c = false;
while (ss >> x) {
if (x == m) {
c = true;
break;
}
cnt++;
}
P t;
t.name = s;
t.g = cnt;
if (c) data.push_back(t);
}
if (data.empty()) {
cout << "-1";
return 0;
}
int limit = min(3, (int)data.size());
sort(data.begin(), data.end(), st);
for (int i = 0; i < limit; i++) {
cout << data[i].name << ' ';
}
return 0;
}