fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define fast() ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  5. #define all(x) (x).begin(),(x).end()
  6. #define yesc cout << "YES\n"
  7. #define noc cout << "NO\n"
  8. #define yesp printf("YES\n")
  9. #define nop printf("NO\n")
  10. #define PI 3.141592653589793238462643383279502884L
  11. typedef long long ll;
  12.  
  13. vector<int> makeprograms(int mid, pair<int, int> x,pair<int, int> y) {
  14. vector<int> result;
  15.  
  16. for(int i=1; i<=mid;i++) {
  17. if(i%x.second==0 && i%y.second==0) {
  18. result.push_back((x.first+y.first));
  19. }
  20. else if(i%x.second==0) {
  21. result.push_back(x.first);
  22. }
  23. else if(i%y.second==0) {
  24. result.push_back(y.first);
  25. }
  26. else {
  27. result.push_back(0);
  28. }
  29. }
  30.  
  31. sort(all(result), greater<int>());
  32.  
  33. return result;
  34. }
  35.  
  36. bool test(vector<int>& tickets, int k, int mid, pair<int, int> x,pair<int, int> y) {
  37.  
  38. vector<int> programs=makeprograms(mid, x, y);
  39.  
  40. ll sum=0;
  41. for(int i=0; i<mid;i++) {
  42. sum+=(tickets[i]*programs[i]*1LL)/100;
  43.  
  44. }
  45. return sum>=k;
  46. }
  47.  
  48. void solve() {
  49. int n; cin >> n;
  50.  
  51. vector<int> tickets(n);
  52. for(int i=0; i<n; i++) cin >> tickets[i];
  53. sort(all(tickets), greater<int>());
  54.  
  55. pair<int, int> x;
  56. int a, b; cin >> a >> b; x=make_pair(a, b);
  57. pair<int, int> y;
  58. int c, d; cin >> c >> d; y=make_pair(c, d);
  59.  
  60. ll k; cin >> k;
  61.  
  62. int left=1, right=n, ans=-1;
  63. while(left<=right) {
  64. int mid=(left+right)/2;
  65.  
  66. if(test(tickets, k, mid, x, y)) {
  67. right=mid-1;
  68. ans=mid;
  69. } else left=mid+1;
  70. }
  71.  
  72. cout << ans << endl;
  73. }
  74.  
  75. int main() {
  76. fast();
  77.  
  78. int t=1;
  79. cin >> t;
  80. while(t--)
  81. solve();
  82.  
  83.  
  84. return 0;
  85. }
  86.  
Success #stdin #stdout 0s 5332KB
stdin
Standard input is empty
stdout
-1