답안 #760620

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
760620 2023-06-18T03:22:11 Z SanguineChameleon 쌀 창고 (IOI11_ricehub) C++17
17 / 100
1000 ms 596 KB
#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;

const int maxN = 1e5 + 20;
int a[maxN];
long long pref[maxN];

int besthub(int N, int L, int X[], long long B) {
	for (int i = 1; i <= N; i++) {
		a[i] = X[i - 1];
		pref[i] = pref[i - 1] + a[i];
	}
	int res1 = 0;
	for (int i = 1; i <= N; i++) {
		for (int j = i; j <= N; j++) {
			int mt = a[(i + j) / 2];
			long long sum = 0;
			for (int k = i; k <= j; k++) {
				sum += abs(a[k] - mt);
			}
			if (sum <= B) {
				res1 = max(res1, j - i + 1);
			}
		}
	}
	int res = 0;
	for (int i = 1; i <= N; i++) {
		int lt = 0;
		int rt = L;
		while (lt <= rt) {
			int mt = (lt + rt) / 2;
			int li = lower_bound(a + 1, a + N + 1, a[i] - mt) - a;
			int ri = upper_bound(a + 1, a + N + 1, a[i] + mt) - a - 1;
			long long cost_l = 1LL * a[i] * (i - li) - (pref[i - 1] - pref[li - 1]);
			long long cost_r = (pref[ri] - pref[i]) - 1LL * a[i] * (ri - i);
			if (cost_l + cost_r <= B) {
				res = max(res, ri - li + 1);
				lt = mt + 1;
			}
			else {
				rt = mt - 1;
			}
		}
	}
	assert(res == res1);
	return res1;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Runtime error 1 ms 468 KB Execution killed with signal 6
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 105 ms 328 KB Output is correct
4 Correct 100 ms 320 KB Output is correct
5 Runtime error 18 ms 456 KB Execution killed with signal 6
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1078 ms 596 KB Time limit exceeded
2 Halted 0 ms 0 KB -