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<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
int T, n;
cin >> T;
string str[10000];
double arr[10000];
double min = 0;
while (T--)
{
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> str[i];
cin >> arr[i];
if (i == 0)
{
min = arr[0];
}
else if (arr[i] <= min)
{
min = arr[i];
}
}
for (int i = 0; i < n; i++)
{
if (arr[i] == min)
{
cout << str[i] << ' ';
}
}
cout << endl;
}
return 0;
}