Advertisement
yordanganev

cp2019_zad9

Apr 3rd, 2020
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. #define print(var) cout << #var << ": " << var<< endl;
  5. #define println(var) cout << var << endl
  6. //#define println(var1, var2) cout << #var1 << "=" << var1 " : " << #var2 << "=" << var2 << endl;
  7.  
  8. using namespace std;
  9.  
  10.  
  11. int main() {
  12.     ios_base::sync_with_stdio(false);
  13.  
  14.     int tests;
  15.     cin >> tests;
  16.  
  17.     for (int test = 0; test < tests; test++) {
  18.         int feetCount;
  19.         int shoesCount;
  20.         cin >> feetCount;
  21.         cin >> shoesCount;
  22.  
  23.         //print(feetCount);
  24.         //print(shoesCount);
  25.  
  26.         int* feet = new int[feetCount];
  27.  
  28.         const int lastSize = 50;
  29.         int shoes[lastSize];
  30.  
  31.  
  32.         shoes[0] = 0;
  33.  
  34.         for (int i = 20; i < 50; i++) {
  35.             shoes[i] = 0;
  36.         }
  37.  
  38.         int skiers = 0;
  39.  
  40.         for (int i = 0; i < feetCount; i++) {
  41.             cin >> feet[i];
  42.         }
  43.  
  44.         for (int i = 0; i < shoesCount; i++) {
  45.             int shoeSize;
  46.             cin >> shoeSize;
  47.             shoes[shoeSize]++;
  48.         }
  49.  
  50.         sort(feet, feet+feetCount);
  51.  
  52.         for (int i = 0; i < feetCount; i++) {
  53.  
  54.             int thisSize = feet[i];
  55.  
  56.             while (feet[i] < lastSize) {
  57.                 if (shoes[feet[i]]) {
  58.  
  59.                     if (thisSize <= feet[i]) {
  60.                         shoes[feet[i]]--;
  61.                         feet[i] = lastSize;
  62.                         skiers++;
  63.                     }
  64.                     else {
  65.                         feet[i] = lastSize;
  66.                     }
  67.                 }
  68.                 feet[i]++;
  69.             }
  70.         }
  71.         delete[] feet;
  72.         cout << skiers << endl;
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement