답안 #730327

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
730327 2023-04-25T17:27:05 Z ktkerem Roller Coaster Railroad (IOI16_railroad) C++17
11 / 100
1659 ms 4204 KB
#include <cstdio>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

#define forn(i, n) for (int i = 0; i < (int)(n); i++)

typedef long long int64;

int64 plan_roller_coaster(vector<int> s, vector<int> t) {
	int n = (int) s.size();
	vector<int> data(n);
	forn(i, n)
		data[i] = i;
	int64 res = 4e18;
	auto relax = [&]() {
	    int64 tmp = 0;
		for (int i = 1; i < n; ++i) {
			tmp += max(0, t[data[i - 1]] - s[data[i]]);
		}
		res = min(res, tmp);
	};
	auto test = [&]( bool reversed, function<long double(int)> f ) {
		sort(data.begin(), data.end(), [&](int i, int j){ return f(i) < f(j); });
		if (reversed)
			reverse(data.begin(), data.end());
		relax();
	};
	forn(reversed, 2) {
		test(reversed, [&]( int i ) { return s[i]; });
		test(reversed, [&]( int i ) { return t[i]; });
		test(reversed, [&]( int i ) { return s[i] + t[i]; });
		test(reversed, [&]( int i ) { return s[i] - t[i]; });
		test(reversed, [&]( int i ) { return (long double)s[i] * t[i]; });
		test(reversed, [&]( int i ) { return (long double)s[i] / t[i]; });
		test(reversed, [&]( int i ) { return (long double)s[i] * s[i] + (long double)t[i] * t[i]; });
		test(reversed, [&]( int i ) { return (long double)s[i] * s[i] - (long double)t[i] * t[i]; });
	}
	forn(it, (int) (1e7 / n)) {
	    random_shuffle(data.begin(), data.end());
	    relax();
	}
	return res;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 145 ms 260 KB n = 2
2 Correct 141 ms 264 KB n = 2
3 Correct 147 ms 260 KB n = 2
4 Correct 145 ms 268 KB n = 2
5 Correct 149 ms 260 KB n = 2
6 Correct 150 ms 260 KB n = 2
7 Correct 190 ms 272 KB n = 3
8 Correct 161 ms 264 KB n = 3
9 Correct 173 ms 264 KB n = 3
10 Correct 210 ms 212 KB n = 8
11 Correct 263 ms 264 KB n = 8
12 Correct 219 ms 212 KB n = 8
13 Correct 221 ms 268 KB n = 8
14 Correct 213 ms 268 KB n = 8
15 Correct 213 ms 268 KB n = 8
16 Correct 225 ms 268 KB n = 8
17 Correct 211 ms 272 KB n = 8
18 Correct 219 ms 264 KB n = 8
19 Correct 180 ms 272 KB n = 3
20 Correct 215 ms 268 KB n = 7
21 Correct 215 ms 272 KB n = 8
22 Correct 221 ms 272 KB n = 8
23 Correct 211 ms 212 KB n = 8
24 Correct 225 ms 264 KB n = 8
25 Correct 209 ms 268 KB n = 8
# 결과 실행 시간 메모리 Grader output
1 Correct 145 ms 260 KB n = 2
2 Correct 141 ms 264 KB n = 2
3 Correct 147 ms 260 KB n = 2
4 Correct 145 ms 268 KB n = 2
5 Correct 149 ms 260 KB n = 2
6 Correct 150 ms 260 KB n = 2
7 Correct 190 ms 272 KB n = 3
8 Correct 161 ms 264 KB n = 3
9 Correct 173 ms 264 KB n = 3
10 Correct 210 ms 212 KB n = 8
11 Correct 263 ms 264 KB n = 8
12 Correct 219 ms 212 KB n = 8
13 Correct 221 ms 268 KB n = 8
14 Correct 213 ms 268 KB n = 8
15 Correct 213 ms 268 KB n = 8
16 Correct 225 ms 268 KB n = 8
17 Correct 211 ms 272 KB n = 8
18 Correct 219 ms 264 KB n = 8
19 Correct 180 ms 272 KB n = 3
20 Correct 215 ms 268 KB n = 7
21 Correct 215 ms 272 KB n = 8
22 Correct 221 ms 272 KB n = 8
23 Correct 211 ms 212 KB n = 8
24 Correct 225 ms 264 KB n = 8
25 Correct 209 ms 268 KB n = 8
26 Correct 214 ms 264 KB n = 8
27 Correct 215 ms 212 KB n = 8
28 Correct 202 ms 268 KB n = 8
29 Correct 238 ms 272 KB n = 16
30 Incorrect 206 ms 268 KB answer is not correct: 139846818 instead of 0
31 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1506 ms 4200 KB n = 199999
2 Correct 1643 ms 4204 KB n = 199991
3 Correct 1659 ms 4204 KB n = 199993
4 Incorrect 1248 ms 3264 KB answer is not correct: 1 instead of 0
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 145 ms 260 KB n = 2
2 Correct 141 ms 264 KB n = 2
3 Correct 147 ms 260 KB n = 2
4 Correct 145 ms 268 KB n = 2
5 Correct 149 ms 260 KB n = 2
6 Correct 150 ms 260 KB n = 2
7 Correct 190 ms 272 KB n = 3
8 Correct 161 ms 264 KB n = 3
9 Correct 173 ms 264 KB n = 3
10 Correct 210 ms 212 KB n = 8
11 Correct 263 ms 264 KB n = 8
12 Correct 219 ms 212 KB n = 8
13 Correct 221 ms 268 KB n = 8
14 Correct 213 ms 268 KB n = 8
15 Correct 213 ms 268 KB n = 8
16 Correct 225 ms 268 KB n = 8
17 Correct 211 ms 272 KB n = 8
18 Correct 219 ms 264 KB n = 8
19 Correct 180 ms 272 KB n = 3
20 Correct 215 ms 268 KB n = 7
21 Correct 215 ms 272 KB n = 8
22 Correct 221 ms 272 KB n = 8
23 Correct 211 ms 212 KB n = 8
24 Correct 225 ms 264 KB n = 8
25 Correct 209 ms 268 KB n = 8
26 Correct 214 ms 264 KB n = 8
27 Correct 215 ms 212 KB n = 8
28 Correct 202 ms 268 KB n = 8
29 Correct 238 ms 272 KB n = 16
30 Incorrect 206 ms 268 KB answer is not correct: 139846818 instead of 0
31 Halted 0 ms 0 KB -