Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3. using namespace std;
  4.  
  5. const int MAXN = 100005;
  6. const int MAXK = 100005;
  7. const int MAXA = 1000000005;
  8.  
  9. long long input[MAXN];
  10.  
  11. long long cost[MAXN];
  12.  
  13. long long N,K;
  14.  
  15. long long A;
  16.  
  17. int main(){
  18. int i;
  19. cin>>N>>K;
  20.  
  21. for(i=0;i<N;i++)
  22. cin>>input[i];
  23. cin>>A;
  24.  
  25. for(i=0;i<N;i++)
  26. cin>>cost[i];
  27.  
  28. long long sum=0;
  29.  
  30. priority_queue<long long,vector<long long>,greater<long long>> q;
  31.  
  32. for(i=0;i<N;i++){
  33. q.push(cost[i]);
  34. while(K<input[i]){
  35. if(q.empty()){
  36. sum=-1;
  37. break;
  38. }
  39. K+=A;
  40. sum+=q.top();
  41. q.pop();
  42. }
  43. }
  44.  
  45. cout<<sum;
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement