解法一、map
✅ 完整代碼
評分結果(參考) : AC (5ms, 340KB)
#include <bits/stdc++.h>
using namespace std;
#define int long long
int key, val;
void split(string& s){
key = 0;
val = 0;
int i = 0;
for(; s[i]!=':'; i++)
key = key*10 + (s[i]-'0');
for(i+=1; i<s.size(); i++)
val = val*10 + (s[i]-'0');
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
unordered_map<int, int> um;
string s;
int ans = 0;
while(cin >> s && s != "0:0"){
split(s);
um[key] = val;
}
while(cin >> s && s != "0:0"){
split(s);
if(um.count(key)) ans += um[key]*val;
}
cout << ans << "\n";
return 0;
}