Submission

Status:
[PPP-S][-SSSS]

Score: 0

User: namnueng_good

Problemset: จุดแวะพัก

Language: cpp

Time: 0.003 second

Submitted On: 2025-03-25 07:01:55

#include <bits/stdc++.h>
using namespace std;
int n;
string s,m;
vector<pair<string,int>> v;
vector<pair<string,int>> re;

int main() {
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n>>m;
    cin.ignore();
    for(int i=0;i<n;i++){
        getline(cin, s);
        v.push_back({s,0});
    }for(int i=0;i<n;i++){
        s="";
        for(int k=0;k<v[i].first.size();k++){
            if(isdigit(v[i].first[k])){
                v[i].second++;
                if(v[i].first[k]==m[0]){
                    for(int j=1;j<m.size();j++){
                        if(v[i].first[k+j]==m[j]){
                            continue;
                        }else{
                            k+=m.size();
                            break;
                        }
                    }
                    re.push_back({s,v[i].second});
                    break;
                }
            }else if(!isdigit(v[i].first[k])&&v[i].first[k]!=' '){
                s+=v[i].first[k];
            }
        }
    }sort(re.begin(),re.end(),[](auto &a,auto &b){
        if(a.second!=b.second){
            return a.second<b.second;
        }else{
            return b.first>a.first;
        }
    });if(re.size()!=0){
        for(int i=0;i<re.size();i++){
            cout<<re[i].first<<' ';
        }
    }else{
        cout<<-1;
    }
}