Submission

Status:

[PPPPP][PPPPP]

Subtask/Task Score:

{50/50}{50/50}

Score: 100

User: august

Problemset: จุดแวะพัก

Language: cpp

Time: 0.006 second

Submitted On: 2026-03-11 13:50:33

#include <bits/stdc++.h>
using namespace std;

#define pi pair<int,int>

int bs(int tar, vector<int> &bs) {
    int l=0, r=bs.size()-1;
    while (l<=r) {
        int mid = (l+r)/2;

        if (bs[mid] == tar) return mid;
        else if (bs[mid] < tar) l=mid+1;
        else r=mid-1;
    }
    return -1;
}

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n,k;
    cin>> n>> k;
    cin.ignore();

    vector<string> name(n);
    vector<vector<int>> num(n);

    for (int i=0; i<n; i++) {
        string tem;
        getline(cin, tem);
        tem += " 1";
        //cout<< tem;

        string tnum="";
        bool ok=true, change=false;
        for (auto &x : tem) {
            if (x == ' ' || x=='\n') ok=false, change=true;
            else {
                if (ok) name[i] += x;
                else {
                    if (change && tnum.size() != 0) {
                        int add = 0;
                        //cout<< tnum<< '\n';
                        for (auto &y : tnum) {
                            
                            add*=10;
                            add += (y-'0');
                        }
                        num[i].push_back(add);
                        tnum = "";
                    }
                    change=false;
                    tnum+=x;
                }  
            }
        }
    }

    /*for (int i=0; i<n; i++) {
        cout<< name[i]<< ' ';
        for (auto &x : num[i]) cout<< x<< ' ';
        cout<< '\n';
    }*/
    
    vector<pair<int, string>> can;
    for (int i=0; i<n; i++) {
        int val = bs(k, num[i]);
        if (val==-1) continue;

        can.push_back({val, name[i]});
    }
    sort(can.begin(), can.end());
    if (can.size() == 0) {
        cout<< -1;
        return 0;
    }
    for (int i=0; i<min(3,(int)can.size()); i++) {
        cout<< can[i].second<< ' ';
    }
}