Submission

Status:

[PPPPP][PPPPP]

Subtask/Task Score:

{50/50}{50/50}

Score: 100

User: meme_boi2

Problemset: จุดแวะพัก

Language: cpp

Time: 0.013 second

Submitted On: 2025-11-01 23:18:40

#include <bits/stdc++.h>
using namespace std;
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int n;
    string k;
    cin >> n;
    cin >> k;
    vector<vector<int>> mat(n);
    vector<string> vec(n);
    cin.ignore();
    for(int var_i = 0; var_i < n; var_i++){
        string txt,s = "";
        getline(cin,txt);
        for(int i = 0; i < txt.length(); i++){
            if(txt[i] >= 'a' && txt[i] <= 'z'){
                s = s + txt[i];
                while(i+1 < txt.length() && txt[i+1] >= 'a' && txt[i+1] <= 'z'){
                    i++;
                    s = s + txt[i];
                }
                vec[var_i] = s;
            }
            if(isdigit(txt[i])){
                string ss = "";
                ss = ss + txt[i];
                while(i+1 < txt.length() && isdigit(txt[i+1])){
                    ss = ss + txt[i+1];
                    i++;
                }
                mat[var_i].push_back(stoi(ss));
            }
        }
    }
    //for(auto x:vec) cout << x << ' ';
    vector<pair<int,string>> ans;
    for(int i = 0;i < n; i++){
        auto it = lower_bound(mat[i].begin(),mat[i].end(),stoi(k));
        if(it != mat[i].end() && mat[i][it-mat[i].begin()] == stoi(k)){
            ans.push_back({it-mat[i].begin(),vec[i]});
        }
    }
    sort(ans.begin(),ans.end());
    //for(auto [x,y]: ans) cout << x <<' ' << y << '\n';
    if(ans.empty()){
        cout << -1;
    }else{
        for(int i = 0; i < 3 && i < ans.size(); i++){
            cout << ans[i].second << ' ';
        }
    }
}