반응형
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
vector<long long> v;
long long N, M;
long long calc(long long mid){
long long res = 0;
for(int i = 0; i<v.size(); i++){
res += mid/v[i];
}
return res;
}
int main(){
scanf("%lld", &N);
scanf("%lld", &M);
for(int i = 0; i<N; i++){
long long t;
scanf("%lld", &t);
v.push_back(t);
}
sort(v.begin(), v.end());
long long left = v[0], right = v[v.size()-1]*M;
long long ans = 0;
while(left<=right){
long long mid = (left + right)/2;
long long c = calc(mid); //개
if(c>=M){
ans = mid;
right = mid -1;
}else{
left = mid + 1;
}
}
printf("%lld", ans);
}
반응형
'🕹️ 알고리즘 > 💯 코딩테스트' 카테고리의 다른 글
[프로그래머스-level1]완주하지 못한 선수 (0) | 2021.02.14 |
---|---|
[2812]크게 만들기 (0) | 2021.02.12 |
[프로그래머스-level1]모의고사 (0) | 2021.01.08 |
[프로그래머스-level1][1차]다트게임 (0) | 2021.01.08 |
[백준-16693]Pizza Deal(C++) (0) | 2020.11.27 |