Submission #892514

#TimeUsernameProblemLanguageResultExecution timeMemory
892514adaawfArcade (NOI20_arcade)C++14
100 / 100
191 ms18020 KiB
#include <iostream> #include <set> #include <algorithm> using namespace std; struct PUS { long long int x, y; } a[500005]; bool cmp(PUS aa, PUS bb) { if (aa.x + aa.y == bb.x + bb.y) return aa.x - aa.y < bb.x - bb.y; return aa.x + aa.y < bb.x + bb.y; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long int n, m; cin >> n >> m; for (int i = 1; i <= m; i++) { cin >> a[i].x; } for (int i = 1; i <= m; i++) { cin >> a[i].y; } sort(a + 1, a + m + 1, cmp); multiset<long long int> s; for (int i = 1; i <= m; i++) { auto h = s.upper_bound(a[i].x - a[i].y); if (h != s.begin()) { s.erase(prev(h)); } s.insert(a[i].x - a[i].y); } cout << s.size(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...