MAGCARI

Eraser

Jun 26th, 2023
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long price[35];
  4. int main(){
  5.     cin.tie(0)->sync_with_stdio(0);
  6.     cin.exceptions(cin.failbit);
  7.     int n,k,p;
  8.     long long c;
  9.     cin >> n >> k >> price[0];
  10.     for(int i=1;i<=31;i++){
  11.         price[i] = 1e18;
  12.     }
  13.     for(int i=1;i<=k;i++){
  14.         cin >> p >> c;
  15.         price[p] = min(price[p],c);
  16.     }
  17.     for(int i=1;i<=31;i++)
  18.         price[i] = min(price[i],price[i-1]*2);
  19.        
  20.     long long ans = 0;
  21.     for(int i=31;i>=0;i--){
  22.         if((1ll<<i) <= n){
  23.             ans+=price[i];
  24.             n-=(1ll<<i);
  25.         }
  26.     }
  27.     cout << ans << '\n';
  28.     return 0;
  29. }
  30.  
Advertisement
Add Comment
Please, Sign In to add comment