Submission #1712945
Source Code Expand
#include <bits/stdc++.h> using namespace std; const int INF = (int) 1e9; struct point { int x; int y; point() : x(0), y(0) {} }; struct fenwick_tree { int n; unordered_map<int, int> F; fenwick_tree() : n(INF) { F.rehash((int) 200000 * 17); } void upd(int i, int x) { for (; i < n; i |= i + 1) F[i] = max(F[i], x); } int get(int i) { int res = 0; for (; i >= 0; i &= i + 1, --i) res = max(res, F[i]); return res; } }; bool cmp(point a, point b) { return make_pair(a.x, a.y) < make_pair(b.x, b.y); } int main() { #ifdef NICK freopen("input.txt", "r", stdin); #else #endif point start, finish; int n; cin >> start.x >> start.y; cin >> finish.x >> finish.y; cin >> n; point p[n]; for (int i = 0; i < n; i++) { cin >> p[i].x >> p[i].y; } if (start.x > finish.x) swap(start, finish); if (start.y > finish.y) { finish.y = 2 * start.y - finish.y; for (int i = 0; i < n; i++) { p[i].y = 2 * start.y - p[i].y; } } vector<point> a; for (int i = 0; i < n; i++) { if (start.x <= p[i].x && p[i].x <= finish.x && start.y <= p[i].y && p[i].y <= finish.y) a.emplace_back(p[i]); } fenwick_tree dp; sort(a.begin(), a.end(), cmp); for (int i = 0; i < (int)a.size(); ++i) dp.upd(a[i].y, dp.get(a[i].y) + 1); int cur = dp.get(INF); long double ans = 0; if (cur != min(finish.y - start.y, finish.x - start.x) + 1) ans = 100.0 * (finish.y + finish.x - start.y - start.x) - 20.0 * cur + 5 * M_PI * cur; else ans = 100.0 * (finish.y + finish.x - start.x - start.y) - 20.0 * cur + 5 * M_PI * (cur - 1) + 10 * M_PI; cout << fixed << setprecision(13) << ans << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Fountain Walk |
User | arcstranger |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1883 Byte |
Status | AC |
Exec Time | 803 ms |
Memory | 80880 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 900 / 900 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 14 ms | 27136 KB |
sample_02.txt | AC | 14 ms | 27136 KB |
sample_03.txt | AC | 15 ms | 27136 KB |
subtask_1_01.txt | AC | 15 ms | 27136 KB |
subtask_1_02.txt | AC | 15 ms | 27136 KB |
subtask_1_03.txt | AC | 15 ms | 27136 KB |
subtask_1_04.txt | AC | 16 ms | 27136 KB |
subtask_1_05.txt | AC | 15 ms | 27136 KB |
subtask_1_06.txt | AC | 15 ms | 27136 KB |
subtask_1_07.txt | AC | 15 ms | 27136 KB |
subtask_1_08.txt | AC | 15 ms | 27136 KB |
subtask_1_09.txt | AC | 65 ms | 27648 KB |
subtask_1_10.txt | AC | 121 ms | 28288 KB |
subtask_1_11.txt | AC | 42 ms | 27392 KB |
subtask_1_12.txt | AC | 628 ms | 80880 KB |
subtask_1_13.txt | AC | 129 ms | 28288 KB |
subtask_1_14.txt | AC | 68 ms | 27648 KB |
subtask_1_15.txt | AC | 40 ms | 27392 KB |
subtask_1_16.txt | AC | 320 ms | 36464 KB |
subtask_1_17.txt | AC | 121 ms | 28160 KB |
subtask_1_18.txt | AC | 88 ms | 27904 KB |
subtask_1_19.txt | AC | 89 ms | 27904 KB |
subtask_1_20.txt | AC | 313 ms | 36464 KB |
subtask_1_21.txt | AC | 620 ms | 80880 KB |
subtask_1_22.txt | AC | 312 ms | 36464 KB |
subtask_1_23.txt | AC | 609 ms | 80880 KB |
subtask_1_24.txt | AC | 15 ms | 27136 KB |
subtask_1_25.txt | AC | 15 ms | 27136 KB |
subtask_1_26.txt | AC | 15 ms | 27136 KB |
subtask_1_27.txt | AC | 15 ms | 27136 KB |
subtask_1_28.txt | AC | 139 ms | 29056 KB |
subtask_1_29.txt | AC | 171 ms | 30464 KB |
subtask_1_30.txt | AC | 780 ms | 80880 KB |
subtask_1_31.txt | AC | 295 ms | 36464 KB |
subtask_1_32.txt | AC | 295 ms | 36464 KB |
subtask_1_33.txt | AC | 293 ms | 36464 KB |
subtask_1_34.txt | AC | 295 ms | 36464 KB |
subtask_1_35.txt | AC | 613 ms | 80880 KB |
subtask_1_36.txt | AC | 803 ms | 80880 KB |
subtask_1_37.txt | AC | 617 ms | 80880 KB |
subtask_1_38.txt | AC | 615 ms | 80880 KB |
subtask_1_39.txt | AC | 626 ms | 80880 KB |
subtask_1_40.txt | AC | 605 ms | 80880 KB |
subtask_1_41.txt | AC | 612 ms | 80880 KB |