Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6. int k, n;
  7. cin >> k >> n;
  8. vector<pair<int, int>> a(n);
  9. for (int i = 0; i < n; ++i) {
  10. cin >> a[i].first;
  11. a[i].second = (1 << i);
  12. }
  13. while (a.back().second > k) {
  14. a.erase(a.end() - 1);
  15. }
  16. for (int i = 1; i < a.size();) {
  17. if (a[i - 1].first * a[i].second / a[i - 1].second < a[i].first) {
  18. a.erase(a.begin() + i);
  19. i--;
  20. }
  21. i++;
  22. }
  23. int ans = 0;
  24. for (int i = a.size() - 1; i >= 0; --i) {
  25. if (k <= 0) break;
  26. ans += (k / a[i].second) * a[i].first;
  27. k -= (k / a[i].second) * a[i].second;
  28. }
  29. if (k > 0) {
  30. ans += k;
  31. }
  32. cout << ans;
  33. //system("pause");
  34. return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement