그리디 4

백준 23559 (C++) 밥

https://www.acmicpc.net/problem/23559 23559번: 밥 제주대 학생회관 식당에는 두 개의 메뉴가 있다. 코너 A로 가면 5,000원짜리 메뉴를 먹을 수 있고, 코너 B로 가면 1,000원짜리 메뉴를 먹을 수 있다. 준원이는 대면 수업이 시작되는 바람에 이제 남 www.acmicpc.net 틀린 코드 #include #include #include #include using namespace std; int n, x; vector v; bool cmp(pair p1, pair p2) { double a = (double)(p1.first) / (double)(p1.second); double b = (double)(p2.first) / (double)(p2.second); i..

PS/BOJ 2022.02.08

백준 20044 (C++) Project Teams

아이디어 n의 입력을 받고 n*2 만큼의 팀원을 둘씩 짝지으면 된다. 그렇다면 오름차순으로 정렬하고 제일 작은 수 + 제일 큰 수 식으로 팀을 맺으면 최소의 평균값이 나올 것이다. https://www.acmicpc.net/problem/20044 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 www.acmicpc.net 코드 #include #include #include using namespace std; using ll = long long; const int INF = 1e8; int mai..

PS/BOJ 2021.09.30

백준 2180 (C++) 소방서의 고민

https://www.acmicpc.net/problem/2180 2180번: 소방서의 고민 첫째 줄에 화재 발생 건수 n이 주어진다. n은 200,000 이하의 양의 정수이다. 둘째 줄부터 n개의 줄에 각각 한 줄에 한 쌍씩 a와 b가 입력된다. a와 b는 40,000 이하의 음이 아닌 정수이다. www.acmicpc.net 문제 이해 문제의 입출력을 보자. 입력 3 2 0 1 2 0 3 출력 5 운이 좋게도 주어진 입력 예시 순서를 따라가면 출력이 나온다. 화재를 진압하는데 걸리는 시간은 at + b이므로 1번째 소방서에서 0초 소비, (2 * 0 + 0) 2번째 소방서에선 2초 소비, (1 * 0 + 2) 3번째 소방서에선 3초 소비 (0 * 2 + 3) 하므로 총 5초(정확히는 단위 시간) 이 소..

PS/BOJ 2021.09.28