답안 #207718

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
207718 2020-03-08T16:50:54 Z lagoon 전봇대 (KOI13_pole) C++14
32 / 100
31 ms 760 KB
// boj 8986 전봇대
#include <iostream>
#include <algorithm>

using namespace std;
int position[100000], n;

long long dist(int x) {
	long long ret = 0;
	for (int i = 0; i < n; ++i) {
		ret += abs(x * i - position[i]);
	}
	return ret;
}
int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin >> n;
	for (int i = 0; i < n; ++i) {
		cin >> position[i];
	}
	long long left = position[0];
	long long right = position[n - 1];

	while (right - left > 3) {
		long long mid1 = left + (right - left) / 3;
		long long mid2 = right - (right - left) / 3;
		long long ret1 = dist(mid1);
		long long ret2 = dist(mid2);
		if (ret1 < ret2) right = mid2;
		else if (ret1 > ret2) left = mid1;
		else {
			left = mid1;
			right = mid2;
		}
	}
	long long ans = dist(right);
	for (int i = left; i < right; ++i)
		ans = min(ans, dist(i));
	cout << ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 380 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 380 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 6 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 31 ms 760 KB Output isn't correct
2 Halted 0 ms 0 KB -