#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAXN 155
struct node
{
int num, dist;
string name;
}a[MAXN];
int n, ans = 114514, idx;
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
while(1)
{
cin >> a[n].num >> a[n].dist >> a[n].name;
if (a[n].dist == 0 && a[n].name == "Moscow") break;
n++;
}
n++;
for (int i = 0 ; i < n ; i++)
{
int tmp = 0;
for (int j = 0 ; j < n ; j++)
{
if (i == j) continue;
tmp += a[j].num * abs(a[j].dist - a[i].dist);
}
if(ans > tmp)
{
idx = i;
ans = tmp;
}
if(ans == tmp)
{
if(a[idx].dist > a[i].dist)
{
idx = i;
}
}
}
cout << a[idx].name << " " << ans;
return 0;
}
样例没问题
自己造的样例也没问题
intput:
19 5 A
1 1 B
25 3 C
10 0 Moscow
output:
C 70
有回必关,求调