Submission
Status:
[PPPPP][PPPPP]
Score: 100
User: qwerty
Problemset: จุดแวะพัก
Language: cpp
Time: 0.017 second
Submitted On: 2025-03-16 16:16:16
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
cin.ignore();
vector<pair<string, vector<int>>> data;
priority_queue<pair<int, string>, vector<pair<int, string>>, greater<pair<int, string>>> count;
for (int i = 0 ; i < n ; i++) {
string line;
getline(cin, line);
istringstream iss(line);
string name;
iss >> name;
vector<int> nums;
int num;
while(iss >> num) {
nums.push_back(num);
}
data.push_back({name, nums});
// cout << "*";
}
// for (const auto& entry : data) {
// cout << "Name: " << entry.first << "\nData: ";
// for (int n : entry.second) {
// cout << n << " ";
// }
// cout << endl;
// }
for (int i = 0 ; i < n ; i++) {
vector<int> v = data[i].second;
auto num = lower_bound(v.begin(), v.end(), k);
if (*num == k) {
count.push({num-v.begin(), data[i].first});
}
}
if (count.empty()) {
cout << "-1";
return 0;
}
int s = count.size();
for (int i = 0 ; i < min(3, s) ; i++) {
cout << count.top().second << " ";
count.pop();
}
}
/*5 7
taohu 0 1 7 9
mafuyu 2 5
ccsleep 2 4 7 25
sira 1
iris 32 64 128*/