[백준 13164번] 행복 유치원 (C++)

2023. 12. 21. 13:46·PS/백준 알고리즘[BOJ]
728x90

그리디 문제이다. 조를 나누는 문제이므로 K-1의 칸막이를 설치한다고 생각할 수 있다.

직관: 한 조의 차이가 가장 작아야 하므로 일단 가장 차이가 큰 곳에 칸막이를 우선적으로 설치하면 차이가 최대가 될 것 같다.

 

반례: 가정 결론 도출

코드

#include<iostream>
#include<algorithm>
#define F first
#define S second

using namespace std;

int N, K, h[300000], sum;
pair<int, int> dif[300000];
bool devide[300000];

int main(void){
    cin.tie(0);
    cout.tie(0);
    ios_base::sync_with_stdio(0);

    cin >> N >> K;
    for(int i=0; i<N; i++) cin >> h[i];
    for(int i=0; i<N-1; i++) dif[i] = {h[i+1] - h[i], i};
    sort(dif, dif + N-1, greater<pair<int, int>>());
    int j = K-1;
    //for(int i=0; i<N-1; i++) cout << dif[i].first << " ";
    for(int i=0; i<K-1; i++) devide[dif[i].S] = true;

    int st = 0;
    devide[N-1] =  true;
    for(int en=0; en<N; en++){
        if(devide[en]) {
            sum += h[en] - h[st];
            st = en + 1;
        }
    }
    cout << sum;


    return 0;
}

 

728x90
저작자표시 비영리 (새창열림)

'PS > 백준 알고리즘[BOJ]' 카테고리의 다른 글

[백준 11054번] 가장 긴 바이토닉 부분 수열 (C++)  (0) 2024.01.08
[백준 1238번] 파티 (C++)  (1) 2024.01.04
[백준 2504번] 괄호의 값 (C++)  (1) 2023.12.21
[백준 10026] 적록색약 (C++)  (0) 2023.12.19
[백준 00000] 치즈 (C++)  (0) 2023.12.19
'PS/백준 알고리즘[BOJ]' 카테고리의 다른 글
  • [백준 11054번] 가장 긴 바이토닉 부분 수열 (C++)
  • [백준 1238번] 파티 (C++)
  • [백준 2504번] 괄호의 값 (C++)
  • [백준 10026] 적록색약 (C++)
BE_개발자
BE_개발자
경이로운 BE 개발자가 되기 위한 프로그래밍 공부 기록장
    250x250
  • BE_개발자
    경이로운 개발일기
    BE_개발자
  • 전체
    오늘
    어제
    • 전체 보기 (213)
      • AI (1)
        • AI native (0)
        • Skill (0)
      • SpringBoot (4)
        • JPA (3)
        • Security (0)
        • 튜토리얼 (1)
        • 기타 (0)
      • Infra (0)
        • Docker (0)
        • AWS (0)
        • NCP (0)
        • GCP (0)
      • React (19)
      • 서버 (0)
      • Computer Science (16)
        • SW Engineering (10)
        • Data Base (2)
        • OS(운영 체제) (4)
      • Data science (0)
        • Probability & Random Variab.. (0)
        • Data Analysis(데이터 분석) (0)
      • 자료구조 | 알고리즘 (57)
        • 선형 자료구죠 (6)
        • 비선형 자료구조 (9)
        • 정렬(Sort) (3)
        • 탐색(Brute Force) (7)
        • 분할 정복(Devide Conquer) (3)
        • 동적 계획법 (6)
        • 탐욕(Greedy) (2)
        • 수학 (7)
        • 심화 알고리즘 (10)
      • PS (44)
        • 백준 알고리즘[BOJ] (38)
        • 프로그래머스[programmers] (3)
      • Dev tool (15)
        • 개발 도구 및 환경 (0)
        • vscode (3)
        • Git Hub (4)
        • Chrome 웹스토어 (5)
        • Python 전용 개발환경 (0)
      • 성장기록 (1)
      • 개인 project (14)
        • 홈페이지 만들기 (11)
        • 냉보미 (1)
      • STL(Standard Library) (9)
      • programming Language (1)
        • javascript (1)
      • 기타 (13)
        • html css (11)
      • (책, 글, 블로그)리뷰 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 백준
    • Github
    • Notion
    • 서울과학기술대학교 학술동아리 EC
  • 공지사항

  • 인기 글

  • 태그

    재귀함수
    수학
    PS
    stl
    스프링부트
    백트래킹
    백준
    CS
    탐색
    SW Engineering
    비트마스킹
    이분 탐색
    완전 탐색
    프론트엔드
    react
    자료구조
    그리디
    SW 공학
    알고리즘
    BFS
    분할정복
    브루트포스
    DP
    순열
    스택
    운영체제
    C++
    괄호쌍
    OS
    stack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
BE_개발자
[백준 13164번] 행복 유치원 (C++)
상단으로

티스토리툴바