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
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 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