Submission
Status:
[PPPPP][PPPPP]
Subtask/Task Score:
{50/50}{50/50}
Score: 100
User: C12
Problemset: จุดแวะพัก
Language: cpp
Time: 0.005 second
Submitted On: 2026-01-09 10:48:21
#include <bits/stdc++.h>
using namespace std;
// #define f first
// #define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define mpiii(a,b,c) make_pair(a,make_pair(b,c));
ll mod = 1000000007;
bool compare(pair<string,ull> a,pair<string,ull> b){
if(a.second < b.second)
{
return true;
}
else if (a.second > b.second)
{
return false;
}
return a.first < b.first;
}
void solve(){
ull n,k;
cin >> n >> k;
vector<pair<string,ull>>v;
string s,name;
int start,num,cnt;
ll out;
int c;
// cin.ignore('\n');
for(int i = 0;i < n;i++){
c = -1;
getline(cin >> ws,s);
// cout << s << '\n';
out = INT16_MAX;
num = 0;
cnt = 0;
for(int j = 0;j <= s.length();j++){
if(j == s.length() || s[j] == ' '){
if(c >= 0){
num = stoi(s.substr(start,j-start));
if(num < k){
cnt++;
}
else if(num == k){
out = cnt;
break;
}
else if(num > k){
out = INT16_MAX;
break;
}
}
else{
name = s.substr(0,j);
}
start = j+1;
c++;
// cout << num << ' ';
}
}
// cout << out << '\n';
v.push_back(mp(name,out));
}
sort(v.begin(),v.end(),compare);
if(v[0].second < INT16_MAX){
// for(int i = 0;i < n;i++){
for(int i = 0;i < n && i < 3;i++){
if(v[i].second < INT16_MAX){
cout << v[i].first << ' ';
}
}
}
else{
cout << -1;
}
return;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll q;
// cin >> q;
// while(q--)
solve();
return 0;
}