summaryrefslogtreecommitdiff
path: root/11340/newspaper.cpp
blob: 9ffa848ac8a17e3efd0add16754d3c7395e73e64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <string>
#include <limits>
using namespace std;

int main(){
    int tc;
    cin>>tc;
    for(int i=0; i<tc; i++){
	int k, costmap[256]={0}, lines, cost;
	double totcost=0;
	char c, line[10000];
	
	cin>>k;
	for(int j=0; j<k; j++){
	    cin>>c>>cost;
	    costmap[c+128] = cost;
	}
	
	cin>>lines;
	cin.ignore();
	for(int j=0; j<lines; j++){
	    cin.get(line, 10000);
	    for(int l=0; line[l]!='\n' && line[l]!='\r'; l++){
		totcost += costmap[line[l]+128];
	    }
	}
	cout.precision(2);
	cout<<fixed<<totcost/100<<"$\n";
    }
    return 0;
}