Submission #588441

#TimeUsernameProblemLanguageResultExecution timeMemory
588441MilosMilutinovicPlanine (COCI21_planine)C++14
0 / 110
3 ms976 KiB
/** * author: wxhtzdy * created: 03.07.2022 11:30:53 **/ #include <bits/stdc++.h> using namespace std; typedef long double ldb; int main() { ios::sync_with_stdio(false); cin.tie(0); int n, h; cin >> n >> h; vector<int> x(n), y(n); for (int i = 0; i < n; i++) { cin >> x[i] >> y[i]; } vector<tuple<ldb, int, int>> ev; for (int i = 2; i < n - 1; i += 2) { ldb L = (ldb) x[i] + (ldb) h * (((ldb) x[i - 1] - x[i] + 0.00) / (ldb) (y[i - 1] - y[i] + 0.00)); ldb R = (ldb) x[i] + (ldb) h * (((ldb) x[i + 1] - x[i] + 0.00) / (ldb) (y[i + 1] - y[i] + 0.00)); ev.emplace_back(L, 0, i); ev.emplace_back(R, 1, i); } sort(ev.begin(), ev.end()); set<int> st; int ans = 0; for (auto& p : ev) { if (get<1>(p) == 0) { st.insert(get<2>(p)); } else { if (st.find(get<2>(p)) != st.end()) { st.clear(); ans += 1; } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...