結果
問題 |
No.662 スロットマシーン
|
ユーザー |
![]() |
提出日時 | 2018-03-10 00:59:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 839 bytes |
コンパイル時間 | 1,904 ms |
コンパイル使用メモリ | 182,868 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-11 00:28:53 |
合計ジャッジ時間 | 2,524 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; #define rep(i,a) for(int i=0;i<(a);i++) #define MOD 1000000007 int main(){ vector<pair<string,int>> value(5); rep(i,5) cin>>value[i].first>>value[i].second; vector<map<string,int>> v(3); rep(i,3) rep(j,5){ string name=value[j].first; v[i].insert(make_pair(name,0)); } int n[3]; rep(i,3){ cin>>n[i]; rep(j,n[i]){ string s; cin>>s; v[i][s]++; } } ll num[5]; rep(i,5){ string name=value[i].first; ll tmp=5; rep(j,3){ tmp*=1LL*v[j][name]; } num[i]=tmp; } ll total=1; rep(i,3) total*=n[i]; double ans=0.0; rep(i,5){ ans+=value[i].second*num[i]/(total*1.0); } cout<<setprecision(10); cout<<ans<<endl; rep(i,5) cout<<num[i]<<endl; return 0; }