BOJ 2143 - 두 배열의 합
2143번: 두 배열의 합 (acmicpc.net) 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net 처음에 너무 많이 삽질을 했다 a와 b의 모든 누적합을 저장하여 이를 lower_bound와 upper_bound로 중복되는 값들을 제거하면 구하는 문제이다. 부배열은 순서대로 이어지기 때문에, 1, 3, 4 나 2, 5, 7 이런 배열은 포함되지 않는다. a의 모든 경우의 누적 합들 (a[0], a[0]+a[1], a[0]+a[1..
2024. 4. 22.
BOJ 14921 - 용액 합성하기
14921번: 용액 합성하기 (acmicpc.net) 14921번: 용액 합성하기 홍익대 화학연구소는 다양한 용액을 보유하고 있다. 각 용액은 -100,000,000부터 100,000,000사이의 특성 값을 갖는데, 같은 양의 두 용액을 혼합하면, 그 특성값은 두 용액의 특성값의 합이 된다. 당신 www.acmicpc.net 접근방법 용액을 무조건 두 개씩 섞어서 0에 가깝게 만드는 문제이다. 전형적인 투포인터 문제다. 포인터를 두 개만들고(a, b), a는 0부터, b는 끝부터 내려온다. 만약, 두 포인터의 용액의 합이 0보다 작으면 용액의 합을 더 크게해야하기 때문에 a++. 반대로, 용액의 합이 작으면 용액의 값을 줄여야 하기 때문에 b--를 한다. 그리고 매번 용액의 합이 0에 최대한 가까운 합을..
2024. 4. 16.