?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
268065935 |
Practice: captainburkinafaso |
1841D - 10 | C++17 (GCC 7-32) | Accepted | 46 ms | 16 KB | 2024-06-30 06:40:12 | 2024-06-30 06:40:12 |
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; #define ll long long #define ld long double #define pb push_back #define pll pair<long long,long long> #define vll vector<long long> #define vld vector<long double> #define vpll vector<pair<long long,long long>> #define all(x) (x).begin(),(x).end() #define ordered_set tree<ll, null_type,less<ll>, rb_tree_tag,tree_order_statistics_node_update> #define f(a) for(auto &x:a){cin >> x;} const ll INF = pow(10 , 15) + 7; const ll mod = 998244353; ll mod2 = 1000000007; istream & operator >> (istream &in , pair<ll , ll> &p) { in >> p.second >> p.first; return in; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cout << fixed << setprecision(10); ll tt = 1; cin >> tt; while(tt--) { ll n; cin >> n; vpll a(n) , b(n); f(a); for(ll i = 0 ; i < n ; i++) { b[i] = {a[i].second , a[i].first}; } sort(all(a)); sort(all(b)); ll m = 0; while(a.size() > 1) { ll j = -1; for(ll i = 0 ; i < a.size()-1 ; i++) { if(a[i+1].second <= a[i].first) { m++; j = i+1; break; } } if(j == -1) break; ll x = a[j].first; for(ll i = 0 ; i < a.size() ; i++) { if(a[i].second <= x) { a.erase(a.begin() + i); i--; } } } cout << n - 2*m << endl; } }
?
?
?
?