본문 바로가기
CS

매개변수탐색

by ddanss 2023. 4. 10.
728x90

랜선자르기 코드

A가 줄어들수록 B가 늘어나는 그런느낌

int n, m;
int arr[10005];

bool func(long long x) { //길이가 x일때 m개 이상인지
	long long cur = 0;
	for (int i = 0; i < n; i++) {
		cur += arr[i] / x;
	}
	return cur >= m;
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	long long st = 1;
	long long en = 0x7fffffff;
	while (st < en) {
		long long mid = (st + en + 1) / 2;
		if (func(mid)) st = mid;
		else en = mid - 1;
	}
	cout << st;
}
반응형

'CS' 카테고리의 다른 글

해시  (0) 2024.01.31
다익스트라 vs 플로이드 와샬  (0) 2023.04.28
이분탐색  (0) 2023.04.09
다익스트라 c++  (1) 2023.04.03
플로이드 와샬  (0) 2023.03.02

댓글