Advertisement
erfanul007

UVa 11308

Sep 12th, 2021
803
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long int
  5.  
  6. map< string, int > mp;
  7.  
  8. int main(){
  9.     #ifdef ERFANUL007
  10.         clock_t tStart = clock();
  11.         freopen("input.txt", "r", stdin);
  12.         freopen("output.txt", "w", stdout);
  13.     #endif
  14.  
  15.     int t;
  16.     cin >> t;
  17.  
  18.     while(t--){
  19.         getchar();
  20.         string binder;
  21.         getline(cin, binder);
  22.         for(int i=0; i<(int)binder.size(); i++){
  23.             cout << (char)toupper(binder[i]);
  24.         }
  25.         cout << '\n';
  26.  
  27.         int n, q, doller;
  28.         cin >> n >> q >> doller;
  29.         //cout << n << ' ' << q << ' ' << doller << '\n';
  30.  
  31.         mp.clear();
  32.         for(int i=0; i<n; i++){
  33.             string s;
  34.             int x;
  35.             cin >> s >> x;
  36.             //cout << s << ' ' << x << '\n';
  37.             mp[s] = x;
  38.         }
  39.  
  40.         vector< pair< ll, string > > v;
  41.         for(int i=0; i<q; i++){
  42.             getchar();
  43.             string name;
  44.             getline(cin, name);
  45.             //cout << name << '\n';
  46.             int k; cin >> k;
  47.             //cout << k << '\n';
  48.             ll cost = 0;
  49.  
  50.             for(int j=0; j<k; j++){
  51.                 string s;
  52.                 int x;
  53.                 cin >> s >> x;
  54.                 //cout << s << ' ' << x << '\n';
  55.                 ll val = 1LL * x * mp[s];
  56.                 cost += val;
  57.             }
  58.             if(cost <= doller) v.push_back(make_pair(cost, name));
  59.         }
  60.         sort(v.begin(), v.end());
  61.  
  62.         if(v.size()){
  63.             for(auto it : v){
  64.                 cout << it.second << '\n';
  65.             }
  66.         }
  67.         else{
  68.             cout << "Too expensive!\n";
  69.         }
  70.         cout << '\n';
  71.     }
  72.  
  73.     #ifdef ERFANUL007
  74.         fprintf(stderr, ">>> Runtime : %.9f\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
  75.     #endif
  76.  
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement