Advertisement
_takumi

misc

May 20th, 2021
941
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int n = 0, max = 0, now = 0, sum = 0, cnt = 0;
  9.     vector<int> v, v1;
  10.     cin >> n >> max;
  11.     for (size_t i = 0; i < n; i++)
  12.     {
  13.         cin >> now;
  14.         if (now >= 200 && now <= 210) {
  15.             cnt++;
  16.             sum += now;
  17.         }
  18.         else
  19.             v.push_back(now);
  20.     }
  21.     sort(begin(v), end(v));
  22.     for (size_t i = 0; i < v.size(); i++) {
  23.         if (sum + v[i] <= max) {
  24.             v1.push_back(v[i]);
  25.             sum += v[i];
  26.             cnt++;
  27.         }
  28.         else {
  29.             if (sum - v[i - 1] + v[i] <= max) {
  30.                 sum -= v[i - 1];
  31.                 sum += v[i];
  32.                 for (size_t i = v1.size() - 2; i >= 0; i--)
  33.                 {
  34.                     if (sum - v1[i] + v1[i + 1] <= max) {
  35.                         sum -= v1[i];
  36.                         sum += v1[i + 1];
  37.                     }
  38.                 }
  39.                 v1[v1.size() - 1] = v[i];
  40.             }
  41.         }
  42.     }
  43.     cout << sum;
  44. }
  45. //6 605 140 205 120 160 100 340
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement