Sunday, September 28, 2014

UVa - 119 - Greedy Gift Givers

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <map>
using namespace std;

int main(){
    int money, tk, x, n, sum[10], bl = 0;
    string name[10], temp;
    while(cin >> n){
        if(bl == 1)cout << endl;
        for(int i = 0; i < n; i++)cin >> name[i];
        memset(sum, 0, sizeof(sum));
        for(int k = 0; k < n; k++){
            cin >> temp >> money >> x;
            for(int z = 0; z < n; z++)if(x != 0 && (temp == name[z]))sum[z] -= ((money / x) * x);
            if(x != 0)tk = (money / x);
            for(int i = 0; i < x; i++){
                cin >> temp;
                for(int j = 0; j < n; j++)if(temp == name[j])sum[j] += tk;
            }
        }
        for(int i = 0; i < n; i++)cout << name[i] << " " << sum[i] << endl;bl = 1;
    }
    return 0;
}

No comments:

Post a Comment