Submission #1712941
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) 2.1e6); } 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 | 1877 Byte |
Status | AC |
Exec Time | 749 ms |
Memory | 70768 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 | 7 ms | 17024 KB |
sample_02.txt | AC | 7 ms | 17024 KB |
sample_03.txt | AC | 8 ms | 17024 KB |
subtask_1_01.txt | AC | 7 ms | 17024 KB |
subtask_1_02.txt | AC | 8 ms | 17024 KB |
subtask_1_03.txt | AC | 9 ms | 17024 KB |
subtask_1_04.txt | AC | 8 ms | 17024 KB |
subtask_1_05.txt | AC | 7 ms | 17024 KB |
subtask_1_06.txt | AC | 8 ms | 17024 KB |
subtask_1_07.txt | AC | 8 ms | 17024 KB |
subtask_1_08.txt | AC | 8 ms | 17024 KB |
subtask_1_09.txt | AC | 60 ms | 17536 KB |
subtask_1_10.txt | AC | 120 ms | 18176 KB |
subtask_1_11.txt | AC | 36 ms | 17280 KB |
subtask_1_12.txt | AC | 608 ms | 70768 KB |
subtask_1_13.txt | AC | 129 ms | 18176 KB |
subtask_1_14.txt | AC | 64 ms | 17536 KB |
subtask_1_15.txt | AC | 35 ms | 17280 KB |
subtask_1_16.txt | AC | 333 ms | 26352 KB |
subtask_1_17.txt | AC | 106 ms | 18048 KB |
subtask_1_18.txt | AC | 83 ms | 17792 KB |
subtask_1_19.txt | AC | 82 ms | 17792 KB |
subtask_1_20.txt | AC | 320 ms | 26352 KB |
subtask_1_21.txt | AC | 602 ms | 70768 KB |
subtask_1_22.txt | AC | 322 ms | 26352 KB |
subtask_1_23.txt | AC | 609 ms | 70768 KB |
subtask_1_24.txt | AC | 8 ms | 17024 KB |
subtask_1_25.txt | AC | 8 ms | 17024 KB |
subtask_1_26.txt | AC | 8 ms | 17024 KB |
subtask_1_27.txt | AC | 7 ms | 17024 KB |
subtask_1_28.txt | AC | 141 ms | 18944 KB |
subtask_1_29.txt | AC | 177 ms | 20352 KB |
subtask_1_30.txt | AC | 749 ms | 70768 KB |
subtask_1_31.txt | AC | 306 ms | 26352 KB |
subtask_1_32.txt | AC | 302 ms | 26352 KB |
subtask_1_33.txt | AC | 304 ms | 26352 KB |
subtask_1_34.txt | AC | 306 ms | 26352 KB |
subtask_1_35.txt | AC | 611 ms | 70768 KB |
subtask_1_36.txt | AC | 739 ms | 70768 KB |
subtask_1_37.txt | AC | 596 ms | 70768 KB |
subtask_1_38.txt | AC | 591 ms | 70768 KB |
subtask_1_39.txt | AC | 591 ms | 70768 KB |
subtask_1_40.txt | AC | 618 ms | 70768 KB |
subtask_1_41.txt | AC | 600 ms | 70768 KB |