Advertisement
Soupborsh

С

Dec 29th, 2024
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | Source Code | 0 0
  1. #include <cstdio>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. std::vector<std::vector<unsigned int>> sum;
  6. std::vector<std::vector<unsigned int>> exer;
  7.  
  8.  
  9. bool comp_sums(std::vector<unsigned int> i, std::vector<unsigned int> j) { return (i[0]<j[0]); }
  10.  
  11. int main(void) {
  12.   unsigned int n, q;
  13.   scanf("%u", &n);
  14.   scanf("%u", &q);
  15.  
  16.   sum.resize(n);
  17.   exer.resize(n);
  18.  
  19.   for (unsigned int i = 0; i < n; i++) {
  20.     sum[i].resize(2);
  21.     sum[i][1] = 0;
  22.     exer[i].resize(6);
  23.   }
  24.  
  25.   unsigned int id, score, ex;
  26.   char ex_c;
  27.   for (unsigned int i = 0; i < q; i++) {
  28.     scanf("%u", &id);
  29.     id--;
  30.     scanf(" %c", &ex_c);
  31.     ex = ex_c - 'A';
  32.     scanf("%u", &score);
  33.  
  34.     exer[id][ex] = score;
  35.     sum[id][1]++;
  36.   }
  37.  
  38.   for (unsigned int i = 0; i < n; i++) {
  39.     for (unsigned int j = 0; j < 6; j++) {
  40.       sum[i][0] += exer[i][j];
  41.     }
  42.   }
  43.  
  44.   unsigned int my_sum = sum[0][0], deleted = 0;
  45.  
  46.   std::sort(sum.begin(), sum.end(), comp_sums);
  47.   while (sum.back()[0] > my_sum) {
  48.     deleted += sum.back()[1];
  49.     sum.pop_back();
  50. }
  51.  
  52.   printf("%u\n", deleted);
  53.   return 0;
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement