CCCPaste

Untitled

#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
int main() {
    ios_base::sync_with_stdio(false);
    ifstream cin("input.txt");
    ll n, radius, range;
    cin >> n >> radius >> range;
    
    vector > v(n);
    for(int i = 0; i < n; i++) {
        cin >> v[i].first >> v[i].second;
    }
    sort(v.begin(),  v.end());
    ll result = 0;
//    cout << v[0].first << endl;
//    cout << v[n - 1].first << endl;
    for(int i = 0; i < n; i++) {
        ll extends = v[i].first + (2 * radius);
        ll take = (v[i].second + range - 1) / range;
//        cout << extends << " "<< v[i + 5].first << endl;
//        break;
        int j = i + 1;
        while(j < n and extends >= v[j].first) {
            take = max((v[j].second + range - 1) / range, take);
            j++;
        }
//        cout << i << " " << j << endl;

        i = j - 1;
        result += take;
    }
    cout << result << endl;
    return 0;
}
/*
 4 1 1
 7 1
 8 1
 9 1
 10 1
 
 302917175
 641099008
 **/