Submission #1546531


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

int main()
{
    using pii = pair<int, int>;
    int x1, y1, x2, y2;
    int N;
    cin >> x1 >> y1 >> x2 >> y2 >> N;

    int sx = min(x1, x2), tx = max(x1, x2);
    int sy = min(y1, y2), ty = max(y1, y2);
    
    vector<pii> v;
    vector<int> X(N), Y(N);
    for (int i = 0; i < N; i++) {
        cin >> X[i] >> Y[i];
        if (sx <= X[i] && X[i] <= tx && sy <= Y[i] && Y[i] <= ty) {
            v.emplace_back(X[i], Y[i]);
        }
    }

    int n = v.size();
    if (x1 > x2) {
        swap(x1, x2);
        for (int i = 0; i < n; i++) {
            v[i].first *= -1;
        }
    }

    if (y1 > y2) {
        swap(y1, y2);
        for (int i = 0; i < n; i++) {
            v[i].second *= -1;
        }
    }
    sort(v.begin(), v.end());

    constexpr int INF = 1145141919;

    vector<int> dp(n, INF);
    for (int i = 0; i < n; i++) {
        int c = v[i].second;
        *lower_bound(dp.begin(), dp.end(), c) = c;
    }

    constexpr double PI = acos(-1);
    int m = lower_bound(dp.begin(), dp.end(), INF) - dp.begin();
    double ans = (tx - sx + ty - sy) * 100.0 - (20.0 - 5.0 * PI) * m;
    if (min(tx - sx, ty - sy) + 1 == m) {
        ans += 5 * PI;
    }
    printf("%.15f\n", ans);    
    return 0;
}

Submission Info

Submission Time
Task C - Fountain Walk
User dustbox
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1332 Byte
Status AC
Exec Time 173 ms
Memory 4208 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 47
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 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 1 ms 256 KB
subtask_1_04.txt AC 1 ms 256 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 1 ms 256 KB
subtask_1_08.txt AC 1 ms 256 KB
subtask_1_09.txt AC 51 ms 768 KB
subtask_1_10.txt AC 107 ms 1408 KB
subtask_1_11.txt AC 28 ms 512 KB
subtask_1_12.txt AC 173 ms 4208 KB
subtask_1_13.txt AC 114 ms 1408 KB
subtask_1_14.txt AC 53 ms 768 KB
subtask_1_15.txt AC 26 ms 512 KB
subtask_1_16.txt AC 173 ms 4208 KB
subtask_1_17.txt AC 94 ms 1280 KB
subtask_1_18.txt AC 74 ms 1024 KB
subtask_1_19.txt AC 72 ms 1024 KB
subtask_1_20.txt AC 161 ms 4208 KB
subtask_1_21.txt AC 173 ms 4208 KB
subtask_1_22.txt AC 173 ms 4208 KB
subtask_1_23.txt AC 173 ms 4208 KB
subtask_1_24.txt AC 1 ms 256 KB
subtask_1_25.txt AC 1 ms 256 KB
subtask_1_26.txt AC 1 ms 256 KB
subtask_1_27.txt AC 1 ms 256 KB
subtask_1_28.txt AC 119 ms 1920 KB
subtask_1_29.txt AC 147 ms 1920 KB
subtask_1_30.txt AC 173 ms 4208 KB
subtask_1_31.txt AC 126 ms 4208 KB
subtask_1_32.txt AC 133 ms 4208 KB
subtask_1_33.txt AC 141 ms 4208 KB
subtask_1_34.txt AC 127 ms 4208 KB
subtask_1_35.txt AC 161 ms 4208 KB
subtask_1_36.txt AC 162 ms 4208 KB
subtask_1_37.txt AC 163 ms 4208 KB
subtask_1_38.txt AC 161 ms 4208 KB
subtask_1_39.txt AC 161 ms 4208 KB
subtask_1_40.txt AC 158 ms 4208 KB
subtask_1_41.txt AC 158 ms 4208 KB