(BOJ / C++) 백준 2805호 벌목 솔루션 관련 이미지

(BOJ / C++) 백준 2805호 벌목 솔루션


백준 2805호 벌목 솔루션 관련 대표 이미지

(질문)

https://www.acmicpc.net/problem/2805

문제 2805: 나무 자르기

첫 번째 줄은 나무의 수 N과 상근이 집에 가져가고 싶은 나무의 길이 M을 나타냅니다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 두 번째 줄은 나무의 높이를 나타냅니다. 나무 높이의 합은 항상 M과 같습니다.

www.acmicpc.net

파라메트릭 검색 이것은 문제입니다. 관련 개념 및 솔루션에 대한 자세한 설명은 다음 문서를 참조하십시오.

아래의 전체 코드를 이해하지 못한다면 읽어 보시기 바랍니다.

https://nayooniverse./13

(알고리즘) 파라메트릭 서치(Parametric Search) 솔루션 방식

매개변수 검색을 처음 접했을 때 이진 검색과 이진 검색의 차이를 구분할 수 없어 어려움을 겪었습니다.매개변수 검색의 개념을 공식화하여 관련 문제를 해결하고 이를 실제 문제에서 해결하는 방법

나윤이버스. 홈페이지


지금 보면 low=-1로 초기화 하도록 바꿔줘야 할 것 같습니다. 백준에 테스트 케이스를 추가하면 AC가 나올지 모르겠습니다. 1e9+1 정도로만 높게 설정하면 되지만 이는 채점 결과에 영향을 미치지 않으므로 변경할 필요는 없습니다.하지만 가독성을 위해 2e9로 바꾸고 싶습니다…ㅋㅋㅋㅋ

(전체 코드)

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

vector<int> v;
long long low = 0, mid, high = 2000000000;
int n, m;

bool check(long long mid) {
    long long sum = 0;
    for(int i : v) {
        if(i - mid > 0) sum += (i - mid);
    }
    return sum >= m;
}

int main() {
    ios::sync_with_stdio(false); cin.tie(nullptr);
    cin >> n >> m;
    for(int i = 0; i < n; i++) {
        int a; cin >> a;
        v.push_back(a);
    }
    while(low + 1 < high) {
        mid = (low + high) / 2;
        if(check(mid)) low = mid;
        else high = mid;
    }
    cout << low;
}

Similar Posts

  • 케일 효능 및 부작용 요약

    케일 효능 및 부작용 요약 세상에는 슈퍼푸드라고 불리는 음식이 10가지 정도 있는데 오늘 소개할 케일 역시 영양성분이 높아 아침 대용으로 먹을 수 있는 식품이다.. 아침에 주스를 주문하시는 분들은 재료를 확인하고 나면, 케일은 거의 모든 주스에 첨가할 수 있을 정도로 강력하기 때문에 자신도 모르게 케일을 먹고 계실 수도 있습니다.. 그래서 이번에는 슈퍼푸드인 케일을 드시지 않는 분들도…

  • 꿈꿔왔던 프리미엄 라이프, 삼성카드 ‘더원 스카이패스’와 함께 시작하세요!

    안녕하세요! 오늘은 설레는 마음으로 여러분께 특별한 선물을 소개해 드리려고 합니다. 바로 많은 분들이 기다려온 삼성카드 발급 소식인데요. 특히 여행을 즐기거나 마일리지를 효율적으로 쌓고 싶은 분들이라면 주목해주세요! 국내 최대 혜택을 자랑하는 프리미엄 카드, 더원 스카이패스의 매력적인 세계로 여러분을 안내할게요. 더원 스카이패스는 단순히 신용카드를 넘어, 여러분의 일상을 더욱 풍요롭게 만들어 줄 든든한 동반자가 될 거예요. 대한항공 마일리지…

  • JTBC예능 결혼에 진심 직업 나이 남자 공개! 김광석 역대급 엄친아!?

    JTBC예능 결혼에 진심 직업 나이 남자 먼저 공개! 김광석 역대급 엄친아!?저번주부터 시작된목요일 JTBC예능< 결혼에 진심 >목요일 밤 10시30분 JTBC에 방송중인결혼에 진심 2화 회차정보 공식영상에서남자출연진들의 궁금했던 직업과나이가 공개되었는데요. 재미를 위해 방송에서 본방까지 나온남자 출연진들의 나이 직업 알려드릴게요.오늘 2화에는 2명 공개되었는데다음주 추가되면 추가해드릴게요! 100일간 결혼에 진심을 함께한 10명의 출연진중에실제로 결혼에 골인한 커플이 있다고먼저 공개가 되었죠! 결혼에 진심…

  • 인컴펀드란?딥 펀드

    꾸준한 현금흐름을 창출하고 점진적인 수익을 창출하는 자산에 투자하는 인컴펀드의 인기가 높아지고 있습니다. 한 번의 히트보다는 꾸준한 수익을 찾는 투자자들이 늘고 있기 때문이다. 인컴 펀드는 주식 시장 변동성이 고조되는 시기에 투자에 집중하는 중위험, 중수익 상품입니다. 인컴펀드란? 투자신탁자산운용에서는 주가상승보다는 이자, 배당금 등의 수입을 목적으로 하는 투자신탁을 말합니다. 인컴 펀드는 주로 채권과 같은 고정 금리 증권이나 주식 수익률이…

  • 국민연금 경주영천지점 전화번호 위치 / 연금영수증 발급방법

    국민연금공단은 국민의 노령·장해·사망 등에 대한 연금급여를 실시하여 국민생활 안정과 복지증진에 이바지함을 목적으로 하는 보건복지부 산하 준정부기관입니다. ~의 국민연금공단은 국민연금, 건강보험, 고용보험, 산재보험 등 4종의 보험으로 국민연금을 관리하고 있습니다. ~의 ~의 국민연금 콜센터 전화번호는 1355는 지역번호가 없습니다.예 가지 관할 기관의 연락처 정보 필요한 경우 아래 표를 참조하십시오. ◆ 국민연금공단 경주영천점 관할권_경주시, 영천시 ◆ 국민연금공단 경주 영천점…

  • 내가 기도하는 시간

    1) 세상일에 얽매인 나를 부르시기를 기도할 때가 가장 행복합니다. 내가 큰 불행의 때에 위로를 받을 수 있도록 나의 모든 진실한 소망을 당신 앞에서 당신께 말씀드립니다. 2) 기도하는 시간이 내겐 가장 소중해 그 거친 세상을 헤매며 내가 위험한 길을 가고 있을 때 주님은 큰 은혜를 주시기 위해 나를 보좌로 인도하셨습니다. 3) 나는 기도할 때가 가장 즐겁다….