結果
| 問題 |
No.662 スロットマシーン
|
| コンテスト | |
| ユーザー |
YamaKasa
|
| 提出日時 | 2018-10-01 13:50:32 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 242 ms / 2,000 ms |
| コード長 | 1,541 bytes |
| コンパイル時間 | 2,298 ms |
| コンパイル使用メモリ | 87,700 KB |
| 実行使用メモリ | 58,208 KB |
| 最終ジャッジ日時 | 2024-10-12 09:42:28 |
| 合計ジャッジ時間 | 6,920 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 |
ソースコード
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Map<String, Long> map = new HashMap<String, Long>();
String[]key = new String[5];
for(int i = 0; i < 5; i++) {
String s = scan.next();
long t = scan.nextInt();
map.put(s, t);
key[i] = s;
}
int n1 = scan.nextInt();
String[]A = new String[n1];
Map<String, Long> mapA = new HashMap<String, Long>();
for(int i = 0; i < n1; i++) {
A[i] = scan.next();
mapA.merge(A[i], 1L, (val1, val2) -> val1 + val2);
}
int n2 = scan.nextInt();
Map<String, Long> mapB = new HashMap<String, Long>();
String[]B = new String[n2];
for(int i = 0; i < n2; i++) {
B[i] = scan.next();
mapB.merge(B[i], 1L, (val1, val2) -> val1 + val2);
}
int n3 = scan.nextInt();
String[]C = new String[n3];
Map<String, Long> mapC = new HashMap<String, Long>();
for(int i = 0; i < n3; i++) {
C[i] = scan.next();
mapC.merge(C[i], 1L, (val1, val2) -> val1 + val2);
}
scan.close();
long sum = 0;
long[]U = new long[5];
for(int i = 0; i < 5; i++) {
if(mapA.containsKey(key[i]) && mapB.containsKey(key[i]) && mapC.containsKey(key[i])) {
sum += 5 * map.get(key[i]) * mapA.get(key[i]) * mapB.get(key[i]) * mapC.get(key[i]);
U[i] = 5 * mapA.get(key[i]) * mapB.get(key[i]) * mapC.get(key[i]);
}
}
double E = (double) sum / ((long)n1 * n2 * n3);
System.out.println(E);
for(long i : U) {
System.out.println(i);
}
}
}
YamaKasa