이분탐색 2

[백준 6236] 용돈 관리

문제설명 https://www.acmicpc.net/problem/6236 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 알고리즘 1. 사용할 수 있는 돈의 최소는 i일 동안 사용할 금액 중에 가장 큰 값, 그리고 돈의 최대는 모든 사용할 돈의 합이다 2. 해당 두 값으로 이분탐색을 진행한다 3. 이분탐색을 할 때, 돈 인출 수를 세어보고 더 많이 인출해야하는 경우 돈을 키우고 그렇지 않은 경우 금액을 줄인다 코드 import sys def Input_Data(): readl = sys.stdin.readline..

Algorithm 2024.01.31

[백준 12865] 공유기 설치

공유기 설치 문제설명 공유기를 설치하는데, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 값을 구하자 알고리즘 값을 각각 입력 받고 오름차순으로 정렬한다. left를 1로, right를 최대 거리(제일 큰 값-제일 작은 값)로 설정한다. 이분 탐색 알고리즘을 사용하는데, 현재 집의 거리와 mid를 비교하여 더 크면 prev값을 업데이트하고 count를 증가시킨다. count가 알맞은 값이 오면 종료 시킨다. #include #include #include #define MAX 200001 using namespace std; int arr[MAX]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N, C; cin >> ..

Algorithm 2021.07.30