Algorithm/BOJ211 [BOJ]2110번: 공유기 설치 (c++) https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 � www.acmicpc.net #include #include #include using namespace std; // 라우터를 거리가 서로 min_gap 이상으로 설치할 때의 개수 구하기 int count_routers(vector &houses, int min_gap) { int last = houses[0]; int cnt = 1; for (int i = 1; i .. 2020. 7. 8. [BOJ]2805번: 나무 자르기 (c++) https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, www.acmicpc.net 이분 탐색 #include #include #include using namespace std; // limit높으로 자르고 남은 길이 합 구하기 long long get_cut_off_sum(vector &trees, long long limit) { long long left = 0; for (int tree : trees) { if (tree - limit > 0) { left += tree .. 2020. 7. 8. [BOJ]1654번: 랜선 자르기 (c++) https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 이분탐색 #include #include #include using namespace std; int count_possible_line(vector &lines, long long len) { int cnt = 0; for (int i = 0; i < lines.size(); ++i) { cnt += lines[i] / len; } return cnt; } int m.. 2020. 7. 8. [BOJ]11728번: 배열 합치기 (c++) https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거�� www.acmicpc.net 병합 #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N, M; cin >> N >> M; vector A(N); vector B(M); for (int i = 0; i < N; ++i) { cin .. 2020. 7. 7. 이전 1 2 3 4 5 6 7 8 ··· 53 다음