题目
代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
long num = 0l;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<Integer, Integer> map = new HashMap<>();
String str = reader.readLine();
String[] s = str.trim().split(" ");
int n = Integer.parseInt(s[0]);
int a = Integer.parseInt(s[1]);
int b = Integer.parseInt(s[2]);
for (int i = 0; i < a; i++) {
str = reader.readLine();
String[] sa = str.trim().split(" ");
int index = Integer.parseInt(sa[0]);
int value = Integer.parseInt(sa[1]);
map.put(index,value);
}
for (int i = 0; i < b; i++) {
str = reader.readLine();
String[] sb = str.trim().split(" ");
int index = Integer.parseInt(sb[0]);
int value = Integer.parseInt(sb[1]);
if(map.containsKey(index))
num = num + map.get(index) * value;
}
System.out.println(num);
}
}
这道题如果用HashMap的同时使用Scanner输入的方式,会导致内存超限,得不到满分。我在这道题被这个坑卡了很久,后来用BufferedReader输入方式后才满足了内存限制要求。