Advertisement
Glenpl

Untitled

Jun 26th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. int max_saved(std::vector<int> prices, int k)
  6. {
  7.     int money_to_be_saved = 0;
  8.  
  9.     std::sort(prices.begin(), prices.end());
  10.     std::reverse(prices.begin(), prices.end());
  11.  
  12.     int max_size = prices.size() - ( prices.size() % k );
  13.  
  14.     while( max_size < prices.size() )
  15.         prices.pop_back();
  16.  
  17.     for(int i = 0; i < prices.size(); i += k)
  18.         money_to_be_saved += *std::min_element( (prices.begin()+i), (prices.begin()+i+k) );
  19.  
  20.     return money_to_be_saved;
  21. }
  22.  
  23. int main()
  24. {
  25.     int t, n, k, price;
  26.     std::cin >> t;
  27.     for(int i = 0; i < t; i++)
  28.     {
  29.         std::cin >> n >> k;
  30.         std::vector<int> prices(n);
  31.         for(int j = 0; j < n; j++)
  32.         {
  33.             std::cin>>price;
  34.             prices[j] = price;
  35.         }
  36.  
  37.         std::cout << max_saved(prices, k) << "\n";
  38.     }
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement