Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define F first
- #define S second
- //#define mp make_pair
- #define pb push_back
- using namespace std;
- typedef long long ll;
- const int MOD = 1e9 + 7;
- const int N = 2e5 + 9;
- const int INF = 1e9 + 5;
- vector <pair <int, int> > events;
- bool cmp (pair <int, int> p1, pair <int, int> p2) {
- if (p1.F == p2.F)
- return p1.S > p2.S;
- return p1.F <= p2.F;
- }
- void solve () {
- int n, k;
- cin >> n >> k;
- for (int i = 1; i <= n; i++) {
- int l, r;
- cin >> l >> r;
- if (l + k - 1 > r)
- continue;
- events.pb ({l, +1});
- events.pb ({r - k + 1, -1});
- }
- int res = 0, currentlyOpened = 0;
- sort (events.begin(), events.end(), cmp);
- for (auto e: events) {
- currentlyOpened += e.S;
- res = max (res, currentlyOpened);
- }
- cout << res << "\n";
- return;
- }
- int main () {
- int t = 1;
- //cin >> t;
- while (t--)
- solve ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement