Submission #1547273
Source Code Expand
#include<iostream> #include<algorithm> #include<cstdio> #include<functional> #include<vector> #include<map> #include<string> #include<math.h> #include<set> #include<string.h> #include<unordered_set> #include<unordered_map> #define int long long #define P pair<int,int> using namespace std; P S, G; P k[200000]; vector<int>V; int dp[200001]; signed main() { bool T = false; cin >> S.first >> S.second; cin >> G.first >> G.second; if (abs(S.first - G.first) <= 1) { T = true; swap(S.first, S.second); swap(G.first, G.second); } int n; cin >> n; for (int i = 0; i < n; i++) { cin >> k[i].first >> k[i].second; if (T)swap(k[i].first, k[i].second); } if (S.first > G.first)swap(S, G); sort(k, k + n); double M = 0; if (S.second == G.second) { for (int i = 0; i < n; i++) { if (k[i].second == S.second&&k[i].first >= S.first&&k[i].first <= G.first) { M += 20 * M_PI*0.5 - 20; } } } for (int i = 0; i < n; i++) { if (G.first >= k[i].first&&S.first <= k[i].first&&max(S.second, G.second) >= k[i].second&&min(S.second, G.second) <= k[i].second) { if (S.second < G.second)V.push_back(k[i].second); if (S.second > G.second)V.push_back(10000000000-k[i].second); } } memset(dp, 0x3f, sizeof(dp)); dp[0] = 0; for (int i = 0; i < V.size(); i++) { *lower_bound(dp, dp + n, V[i]) = V[i]; } int i = 0; for (i = V.size(); i >= 0; i--) { if (dp[i] <= 1000000000000ll)break; } if (i == min(G.first - S.first, abs(G.second - S.second))+1) { printf("%.50lf\n", (G.first - S.first + abs(G.second - S.second)) * 100 - (20 - 5 * M_PI)*(i-1) + 20 * M_PI*0.5 - 20+M); } else { printf("%.50lf\n", (G.first - S.first + abs(G.second - S.second)) * 100 - (20 - 5 * M_PI)*i + M); } }
Submission Info
Submission Time | |
---|---|
Task | C - Fountain Walk |
User | naoki2016 |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1782 Byte |
Status | AC |
Exec Time | 181 ms |
Memory | 7152 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 | 2 ms | 1792 KB |
sample_02.txt | AC | 2 ms | 1792 KB |
sample_03.txt | AC | 2 ms | 1792 KB |
subtask_1_01.txt | AC | 2 ms | 1792 KB |
subtask_1_02.txt | AC | 2 ms | 1792 KB |
subtask_1_03.txt | AC | 2 ms | 1792 KB |
subtask_1_04.txt | AC | 2 ms | 1792 KB |
subtask_1_05.txt | AC | 2 ms | 1792 KB |
subtask_1_06.txt | AC | 2 ms | 1792 KB |
subtask_1_07.txt | AC | 2 ms | 1792 KB |
subtask_1_08.txt | AC | 2 ms | 1792 KB |
subtask_1_09.txt | AC | 57 ms | 4352 KB |
subtask_1_10.txt | AC | 117 ms | 4352 KB |
subtask_1_11.txt | AC | 32 ms | 4352 KB |
subtask_1_12.txt | AC | 172 ms | 6640 KB |
subtask_1_13.txt | AC | 125 ms | 4352 KB |
subtask_1_14.txt | AC | 58 ms | 4352 KB |
subtask_1_15.txt | AC | 29 ms | 4352 KB |
subtask_1_16.txt | AC | 172 ms | 6640 KB |
subtask_1_17.txt | AC | 104 ms | 4352 KB |
subtask_1_18.txt | AC | 81 ms | 4352 KB |
subtask_1_19.txt | AC | 80 ms | 4352 KB |
subtask_1_20.txt | AC | 160 ms | 6640 KB |
subtask_1_21.txt | AC | 172 ms | 6640 KB |
subtask_1_22.txt | AC | 172 ms | 6640 KB |
subtask_1_23.txt | AC | 172 ms | 6640 KB |
subtask_1_24.txt | AC | 2 ms | 1792 KB |
subtask_1_25.txt | AC | 2 ms | 1792 KB |
subtask_1_26.txt | AC | 2 ms | 1792 KB |
subtask_1_27.txt | AC | 2 ms | 1792 KB |
subtask_1_28.txt | AC | 132 ms | 4992 KB |
subtask_1_29.txt | AC | 162 ms | 4992 KB |
subtask_1_30.txt | AC | 172 ms | 6640 KB |
subtask_1_31.txt | AC | 126 ms | 6640 KB |
subtask_1_32.txt | AC | 132 ms | 6640 KB |
subtask_1_33.txt | AC | 131 ms | 6640 KB |
subtask_1_34.txt | AC | 127 ms | 6640 KB |
subtask_1_35.txt | AC | 160 ms | 6640 KB |
subtask_1_36.txt | AC | 161 ms | 6640 KB |
subtask_1_37.txt | AC | 181 ms | 7152 KB |
subtask_1_38.txt | AC | 160 ms | 6640 KB |
subtask_1_39.txt | AC | 161 ms | 6640 KB |
subtask_1_40.txt | AC | 158 ms | 6640 KB |
subtask_1_41.txt | AC | 159 ms | 6640 KB |