끄적끄적 코딩
article thumbnail
[C++] 백준 2805번 나무 자르기
알고리즘 2019. 10. 15. 00:55

이분탐색으로 문제를 풀었습니다. M미터의 나무를 가져가기 위해서 전체 나무들이 X가 되게 자를 때 X갖 가장 큰 경우의 값을 출력하는 문제입니다. left와 right를 설정해준 다음 가운데 값을 비교하면서 이분탐색을 해주어서 문제를 해결하였습니다. #include #include #include using namespace std; typedef long long ll; int n, m; int result = 0; ll sum = 9876543210; ll leftN, rightN; ll arr[1000001]; void binary_find(ll x) { ll temp = 0; if (leftN > rightN) { return; } for (int i = 0; i < n; ++i) { if (ar..

article thumbnail
[C++] 백준 2512번 예산
알고리즘 2019. 10. 15. 00:34

이분탐색으로 문제를 해결했습니다. 예산의 상한선을 지정해서 예산과 최대한 비슷하게 만드는 문제입니다. 1부터 N까지의 수를 전부 계산하면 시간초과가 발생하게 됩니다. 그래서 sort를 해준 다음 이분탐색을 통해서 반틈씩 이동하면서 가장 가까워지는 값을 찾아냈습니다. #include #include #include using namespace std; typedef long long ll; int n; int result = 0; ll sum = 0; ll budget; ll leftN, rightN; ll arr[10001]; void binary_find(ll x) { ll temp = 0; if (leftN > rightN) { return; } for (int i = 0; i < n; ++i) { ..

검색 태그