Baekjoon 2805.EKO(나무자르기) c++ [Silver II]

2025. 2. 4. 23:40·Baekjoon/Silver
728x90
반응형

이분탐색

정렬된 범위에 특정 값을 찾거나 최적의 값을 구할 때 사용

 

left =0, right는 max로 설정 mid값을 잡아서 조건에 만족하는 최댓 값을 찾을 때까지 위해 반복

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef long long ll;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    int N, M;
    cin >> N >> M;
    vector<int> trees(N);
    for (int i = 0; i < N; i++)
    {
        cin >> trees[i];
    }
    int left = 0, right = *max_element(trees.begin(), trees.end()), sum = 0;
    while (left <= right)
    {
        int mid = (left + right) / 2;
        ll total = 0;
        for (int t : trees)
        {
            if (t > mid)
            {
                total += t - mid;
            }
        }
        if (total >= M)
        {
            sum = mid;
            left = mid + 1;
        }
        else
        {
            right = mid - 1;
        }
    }
    cout << sum;
    return 0;
}
728x90
반응형
저작자표시 (새창열림)

'Baekjoon > Silver' 카테고리의 다른 글

Baekjoon 6550.ALL IN ALL(부분 문자열) c++ [Silver V]  (0) 2025.02.20
Baekjoon 2003.수들의 합2 c++ [Silver IV]  (0) 2025.02.04
Baekjoon 15650.N과 M (2) c++ [Silver III]  (2) 2025.01.09
Baekjoon 10845.큐 c++ [Silver IV]  (0) 2024.12.30
Baekjoon 10816.숫자 카드 2 c++ [Silver IV]  (0) 2024.12.30
'Baekjoon/Silver' 카테고리의 다른 글
  • Baekjoon 6550.ALL IN ALL(부분 문자열) c++ [Silver V]
  • Baekjoon 2003.수들의 합2 c++ [Silver IV]
  • Baekjoon 15650.N과 M (2) c++ [Silver III]
  • Baekjoon 10845.큐 c++ [Silver IV]
Hun-bot
Hun-bot
IT를 중심으로 다양한 것
  • Hun-bot
    로봇이 만드는 눈사람
    Hun-bot
  • 전체
    오늘
    어제
    • All Article (128)
      • Programmers (6)
        • TIP (1)
        • SQL (2)
        • LV1 (1)
        • LV2 (2)
        • LV3 (0)
      • Baekjoon (31)
        • Bronze (10)
        • Silver (19)
        • Gold (2)
        • Platinum (0)
        • Diamond (0)
      • Leetcode (0)
        • Easy (0)
        • Medium (0)
        • Hard (0)
        • SQL (0)
      • 알고리즘(Algorithm) (42)
      • JavaScript (40)
      • Linux (7)
      • JSP (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      Javascript
      LeetCode #JS #Javascript #Algorithm
      async await #js #문법 #자바스크립트 #비동기
      백준
      Python #알고리즘
      알고리즘 #Algorithm
      JS #JavaScript #프로그래머스 #알고리즘
      JS #클래스
      JSP #Vscode #톰켓 #Tomcat #Java #Web #jdk
      JS #정규표현식
      프로그래머스
      c++
      자바스크립트
      리눅스 #입문
      JavaScript #Set #Collection
      Programmers
      티스토리챌린지
      Vue #Vue.js #정리
      리눅스
      알고리즘
      Algorithm
      프로그래머스 #자바스크립트 #JS
      JS #JavaScript #프로그래머스 #카카오
      JS #프로그래머스 #숫자의표현 #알고리즘
      BaekJoon
      자바스크립트 #연습문제
      JS #javascript #객체 #Object
      오블완
      SQL
      고득점 Kit
    • 최근 댓글

    • hELLO· Designed By정상우.v4.10.3
    Hun-bot
    Baekjoon 2805.EKO(나무자르기) c++ [Silver II]
    상단으로

    티스토리툴바

    티스토리툴바