D.ACM蒟蒻

D.ACM蒟蒻
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 448 (141 users)Total Accepted: 150 (135 users)Special Judge: No
Description

近年来,越来越多的人打ACM,深深被ACM的有趣吸引,沉迷其中无法自拔,

不过不同人的不同水平也不同,现在给你n个人的名字si以及每个人的水平等级ai,

请你求出这n个人中水平等级最低的人,若水平最低有多个人,则按给出名字的顺序将其输出,每个名字后面都有一个空格

Input
第一行给出一个整数T (T <= 648),代表样例个数


每个样例第一行给出一个整数n (1 <= n <= 100),


接下来n行中,每行两个整数si (1 <= |si| <= 10)与ai ( 1 <= ai <= 1018)

tips:注意数据范围

Output
每一个样例输出一行,每一行包含若干个名字(每个名字后面有一个空格)
Sample Input
2
10
lijingyang 700
XHYMathematics 500
yihang_01 250
Kaibad 500
yqlm 500
TFMLin 800
sjx 550
linhao 400
chenqisheng 400
lvjinze 500
4
xiaohong 1
xiaoming 2
xiaogang 1
xiaoliang 3
Sample Output
yihang_01 
xiaohong xiaogang 
Hint

第二个样例中,xiaohong 与 xiaogang水平等级都为1,xiaohong在题面中先给出,因此先输出xiaohong(每个输入后面都有一个空格)

#include <iostream>
#include <string>
#include <vector>
#include <climits>

using namespace std;

struct Person {
    string name;
    long long level;

    Person(string n, long long l) : name(n), level(l) {}
};

int main() {
    int T;
    cin >> T;

    while (T--) {
        int n;
        cin >> n;

        vector<Person> people;
        long long minLevel = 9223372036854775807i64;

        for (int i = 0; i < n; i++) {
            string name;
            long long level;
            cin >> name >> level;

            people.emplace_back(name, level);
            minLevel = min(minLevel, level);
        }

        for (int i = 0; i < n; i++) {
            if (people[i].level == minLevel) {
                cout << people[i].name << " ";
            }
        }

        cout << endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山月@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值