fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. #define fi first
  5. #define se second
  6.  
  7. signed main(){
  8. int k;
  9. cin >> k;
  10. vector<pair<int, int>> c(k);
  11. for (int i =0; i < k; i++){
  12. cin >> c[i].se;
  13. }
  14. for (int i =0; i < k; i++){
  15. cin >> c[i].fi;
  16. }
  17. int n;
  18. cin >> n;
  19. vector <int> b(n);
  20. for (int i =0; i <= n; i++){
  21. cin >> b[i];
  22. }
  23. sort(b.begin(), b.end());
  24. sort(c.begin(), c.end());
  25. int idx = n-1;
  26. long long ans = 0;
  27. for (int i =0; i <k; i++){
  28. long long res = 0;
  29. for (int j = idx; j > idx-c[i].se; j--){
  30. if ( j < 0 || idx <0){
  31. break;
  32. }
  33. else{
  34. res += b[j];
  35. }
  36. }
  37. ans += res*c[i].fi;
  38. idx -= c[i].se;
  39.  
  40. }
  41. cout << ans << endl;
  42. }
Success #stdin #stdout 0.01s 5288KB
stdin
2
3 4
5 2
6
4 1 5 2 3 2
stdout
43