제출 #1148789

#제출 시각아이디문제언어결과실행 시간메모리
1148789fabijan_cikacAdvertisement 2 (JOI23_ho_t2)C++20
100 / 100
118 ms8568 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define pp pair<int, int> #define F first #define S second const int INF = 2 * 1e9 + 100; int n; bool cmp1(pp a, pp b){ if (a.F != b.F) return (a.F < b.F); return (a.S > b.S); } bool cmp2(pp a, pp b){ return (a.F > b.F); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; vector<pp> v(n); for (int i = 0; i < n; ++i) cin >> v[i].F >> v[i].S; vector<pp> v2; sort(v.begin(), v.end(), cmp1); for (int i = 0; i < (int)(v.size()); ++i) if (!i || v[i].F != v[i - 1].F) v2.pb(v[i]); v = v2; v2.clear(); int x = -INF; for (int i = 0; i < (int)(v.size()); ++i) if (v[i].S + v[i].F > x) v2.pb(v[i]), x = v[i].F + v[i].S; v = v2; v2.clear(); x = -INF; sort(v.begin(), v.end(), cmp2); for (int i = 0; i < (int)(v.size()); ++i) if (v[i].S - v[i].F > x) v2.pb(v[i]), x = v[i].S - v[i].F; cout << (int)(v2.size()); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...