#include <iostream>
#include <algorithm>

using namespace std;

int n, k;
int m;
const int N = 1e6 + 10;
int t[N], c[N], mint, maxt;

bool check(int tmp){
    int s = 0;
    for (int i = 0;i < n;i ++){
        if (tmp < t[i]) s += c[i] * (t[i] - tmp);
        if (s > m) return false;
    }
    return true;

}

int main(){
    cin >> n >> m >> k;
    mint = k;
    for (int i = 0;i < n; i ++){
        cin >> t[i] >> c[i];
        maxt = max(maxt, t[i]);
    }
    int l = mint, r = maxt;
    while (l < r){
        int mid = l + r >> 1;
        if (check(mid)){
            r = mid;
        
        }else{
            l = mid + 1;
        }
    }
    
    cout << l;
    

}

标签: none