Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - #include <algorithm>
 - #include <iostream>
 - #include <vector>
 - using namespace std;
 - int main()
 - {
 - int n = 0, max = 0, now = 0, sum = 0, cnt = 0;
 - vector<int> v, v1;
 - cin >> n >> max;
 - for (size_t i = 0; i < n; i++)
 - {
 - cin >> now;
 - if (now >= 200 && now <= 210) {
 - cnt++;
 - sum += now;
 - }
 - else
 - v.push_back(now);
 - }
 - sort(begin(v), end(v));
 - for (size_t i = 0; i < v.size(); i++) {
 - if (sum + v[i] <= max) {
 - v1.push_back(v[i]);
 - sum += v[i];
 - cnt++;
 - }
 - else {
 - if (sum - v[i - 1] + v[i] <= max) {
 - sum -= v[i - 1];
 - sum += v[i];
 - for (size_t i = v1.size() - 2; i >= 0; i--)
 - {
 - if (sum - v1[i] + v1[i + 1] <= max) {
 - sum -= v1[i];
 - sum += v1[i + 1];
 - }
 - }
 - v1[v1.size() - 1] = v[i];
 - }
 - }
 - }
 - cout << sum;
 - }
 - //6 605 140 205 120 160 100 340
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment