C++ 13

정올 1828 냉장고

정올 문제풀이 1828 : 냉장고 문제 N개의 화학 물질 C1, C2, …, Cn이 있다. 이들 각각은 보관되어야 할 온도가 각기 다른데, 각 Ci마다 최저 보관 온도 xi와 최고 보관 온도 yi가 정해져 있다. 즉 Ci는 온도 xi이상, yi이하의 온도에서 보관되어야만 안전하다. 이 화학 물질들을 모두 보관하기 위해서는 여러 대의 냉장고가 필요한데 가능하면 적은 수의 냉장고를 사용하고 싶다. 이를 해결하는 프로그램을 작성하시오. 입력형식 첫줄에 화학물질의 수 N이 입력된다. N의 범위는 1이상 100 이하이다. 두 번째 줄부터 N+1줄까지 최저보관온도와 최고보관온도가 입력된다. 보관온도는 -270° ~ 10000°이며, 각 냉장고는 임의의 정해진 온도를 일정하게 유지할 수 있고, 냉장고는 아주 크다고 ..

정올 1370 회의실 배정

정올 문제풀이 1370번 : 회의실 배정 문제 회의실이 하나 있다. 여러 회의들이 시작시간과 종료시간이 예약되어 있으며, 시간대가 겹치는 회의는 동시에 개최가 불가능하다. 따라서 같은 시간대에 속하는 회의들 중 하나만 개최하고 나머지 회의들은 버려야한다. 단, 종료시간과 시작시간이 같은 경우에는 시간이 겹친다고 말하지 않는다. 회의의 개수 N과 각 회의의 시작시간, 종료시간이 주어졌을 때 되도록 많은 회의를 개최하고자 한다. 회의를 최대한 많이 배정하는 프로그램을 작성하시오. 입력 첫줄에는 회의의 수 N(5≤N≤500), 둘째 줄부터 i-1번 회의의 번호와 시작시간과 종료시간이 차례로 주어진다. (500 이하의 자연수) 한 회의에서 시작시간과 종료시간이 같은 경우는 주어지지 않는다. 출력 첫줄에는 배정 ..

정올 1816 외양간 문제풀이

정올 문제풀이 1816번 : 외양간 입력 예 4 50 18 3 4 6 8 14 15 16 17 21 25 26 27 30 31 40 41 42 43 출력 예 25 제출코드 더보기 c++ #include #include #include int main() { int m, s, c; int rooms[200]; int sub[200]; scanf("%d %d %d", &m, &s, &c); for (int i = 0; i < c; i++) scanf("%d", rooms + i); std::sort(rooms, rooms + c); for (int i = 0; i < c - 1; i++) sub[i] = rooms[i + 1] - rooms[i] - 1; std::sort(sub, sub + (c - 1),..