알고리즘 관련/BOJ
BOJ)3079 입국심사
자손9319
2017. 4. 13. 19:51
문제: icpc.me/3079
X시간 동안 심사할 수 있는 인원 수는 Sum(i: 0~N) X/T[i] 로 정의할 수 있다.
이를 이용하여 파라메트릭 서치로 답을 구해주면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <cstdio> #include <algorithm> typedef long long ll; using namespace std; ll n, m, a[100001]; int main() { scanf("%lld%lld", &n, &m); for (int i = 0; i < n; i++) scanf("%lld", &a[i]); ll lo = 0; ll hi = 1e18 + 5; while (lo < hi) { ll mid = (lo + hi) >> 1; ll cnt = 0; for (int i = 0; i < n; i++) cnt += mid / a[i]; if (cnt >= m) hi = mid; else lo = mid + 1; } printf("%lld\n", lo); return 0; } | cs |