#include<iostream>#include<cstdio>#include<map>usingnamespace std;intmain(){
ios::sync_with_stdio(false);int n, a, b;
cin >> n >> a >> b;
map<int,int> mp;for(int i =0; i < a; i++){int index, value;
cin >> index >> value;
mp[index]= value;}longlong ans =0;for(int i =0; i < b; i++){int index, value;
cin >> index >> value;if(mp[index]!=0){
ans += mp[index]* value;}}
cout << ans << endl;return0;}
100分,用map方便很多
60分代码
#include<iostream>#include<algorithm>usingnamespace std;typedeflonglong ll;const ll maxn =100;struct point {
ll index, value;}p1[maxn], p2[maxn], p1_2[maxn], p2_2[maxn];intmain(){
ios::sync_with_stdio(false);//提速,减少运算时间 int n, a, b;
cin >> n >> a >> b;for(int i =0; i < a; i++){
ll index, value;
cin >> index >> value;if(index <100000000){
p1[index].value = value;}else{
ll index2 = index -100000000;
p1_2[index2].value = value;}}for(int i =0; i < b; i++){
ll index, value;
cin >> index >> value;if(index <100000000){
p2[index].value = value;}else{
ll index2 = index -100000000;
p2_2[index2].value = value;}}
ll sum =0;for(int i =0; i < n; i++){if(i <100000000){
sum += p1[i].value * p2[i].value;}else{int i2 = i -100000000;
sum += p1_2[i2].value * p2_2[i2].value;}}
cout << sum << endl;return0;}
题目代码#include <iostream>#include <cstdio>#include <map>using namespace std;int main() { ios::sync_with_stdio(false); int n, a, b; cin >> n >> a >> b; map<int,int> mp; for (int i = 0; i < a; i++) {