分析 视频讲解B站:我不是匠人考查知识点 排序 思路: 由于输出的值比较少,直接用变量保存输出的值。 注意: 不要初始化为0,要把销售额初始化为负数。 AC代码 #include <iostream> #include <algorithm> using namespace std; const int N = 1e4+5; struct node{ string id; int price; int count; bool operator <(const node& a)const{ return price*1ll*count > a.price*1ll*a.count; } }E[N]; int main() { int n; cin >> n; string bestId; int bestCount = -1; string id; int price, count; for(int i = 0; i < n; i++) { cin>>id>>price>>count; if(count > bestCount) { bestId = id; bestCount = count; } E[i] = {id, price, count}; } sort(E, E+n); cout<<bestId<<" "<<bestCount<<endl; cout<<E[0].id<<" "<<E[0].price*1ll*E[0].count<<endl; return 0; }