Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define llma LONG_LONG_MAX
- #define llmi LONG_LONG_MIN
- #define imi ll_MIN
- #define ima ll_MAX
- void Mustafa()
- {
- ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
- #endif
- }
- bool Bs(ll x, vector < ll > & nums)
- {
- ll l = 0, r = nums.size()-1, best = -1;
- while(l <= r)
- {
- ll m = l + (r - l) / 2;
- (nums[m] < x ? l = m + 1, best = m : r = m - 1);
- }
- if(best != -1)
- {
- nums.erase(nums.begin()+best);
- }
- return (best != -1);
- }
- int main()
- {
- Mustafa();
- ll tt = 1;
- // cin >> tt;
- while(tt--)
- {
- ll n; cin >> n;
- ll k; cin >> k;
- vector < pair < ll , ll > > nums(n);
- for(auto & i : nums) cin >> i.first >> i.second;
- ll memo = 0, nasr = 0;
- if(k == 1)
- {
- for(auto & i : nums)
- if(i.first >= i.second)
- memo++;
- else
- nasr++;
- cout << (memo > nasr ? "NO\n" : "YES\n");
- }
- else
- {
- vector < ll > test1(n), test2(n);
- ll x = 0;
- for(auto & i : nums) test1[x] = i.first, test2[x++] = (i.second);
- sort(test1.begin(), test1.end());
- for(auto & i : test2)
- {
- if(Bs(i, test1))
- nasr++;
- else
- memo++;
- }
- cout << (memo > nasr ? "NO\n" : "YES\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment