Submission #207714

# Submission time Handle Problem Language Result Execution time Memory
207714 2020-03-08T16:47:58 Z lagoon 전봇대 (KOI13_pole) C++14
32 / 100
30 ms 1636 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];
	}
	int left = position[0];
	int right = position[n - 1];

	while (right - left > 3) {
		int mid1 = left + (right - left) / 3;
		int 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;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 380 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 504 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 248 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory 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 6 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 7 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 524 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 30 ms 1636 KB Output isn't correct
2 Halted 0 ms 0 KB -