AcWing 1520. 男孩 vs 女孩
原题链接
简单
作者:
Present.
,
2022-05-04 19:21:43
,
所有人可见
,
阅读 246
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
unordered_map<string,int> mp;
vector<pair<string,string>> v;
int main()
{
int n;
cin >> n;
int maxx = -1,minn = 110;
for(int i = 0;i < n;i ++)
{
string s,s1;
char c;
int a;
cin >> s;
cin >> c;
cin >> s1;
cin >> a;
v.push_back({s,s1});
if(c == 'M')
{
if(a < minn)
{
minn = a;
mp[s1] += a;
}
}
if(c == 'F')
{
if(a > maxx)
{
maxx = a;
mp[s1] += a;
}
}
}
string s3,s4;
if(maxx == -1)
{
cout << "Absent" << endl;
}
else
{
for(auto tt : mp)
{
if(tt.second == maxx)
{
s4 = tt.first;
break;
}
}
for(auto tt : v)
{
if(tt.second == s4)
{
cout << tt.first << " " << s4 << endl;
}
}
}
if(minn == 110)
{
cout << "Absent";
}
else
{
for(auto tt : mp)
{
if(tt.second == minn)
{
s3 = tt.first;
break;
}
}
for(auto tt : v)
{
if(tt.second == s3)
{
cout << tt.first << " " << s3;
}
}
}
cout << endl;
if(maxx == -1 || minn == 110) cout << "NA" << endl;
else cout << maxx - minn << endl;
return 0;
}