백준 14627 파닭파닭

CJB_ny·2023년 3월 7일
0

백준

목록 보기
96/104
post-thumbnail

파닭


분석

길이가 다른 파로 입력값에 따라 최대의 파길이로 파닭만드는 문제임.

후기

ZeroDivision이 계속 났었는데 ll lo의 값을 0부터 시작을 해버려서 틀렸었음.

길이는 1부터 시작할 수 있게 함.

cpp

#include <iostream>
#include <cstring>
using namespace std;
#define endl "\n"
#define ll long long

ll s, c, ls[1000002], ret = -1, sum = 0;

bool Check(ll mid)
{
	ll cnt = 0;
	for (int i = 0; i < s; ++i) cnt += (ls[i] / mid);
	return cnt >= c;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	cin >> s >> c;
	for (int i = 0; i < s; ++i)
	{
		cin >> ls[i]; sum += ls[i];
	}
	ll lo = 1; ll hi = 1e9;
	while (lo <= hi)
	{
		ll mid = (lo + hi) / ((ll)1 * 2);
		if (Check(mid))
		{
			lo = mid + 1;
			ret = mid;
		}
		else hi = mid - 1;
	}

	cout << sum - ret * c << endl;

	return 0;
}
```
profile
공부 일기장으로 변해버린 블로그 (https://cjbworld.tistory.com/ <- 이사중)

0개의 댓글