공부/SWEA

SWEA 6855. 신도시 전기 연결하기 (C++)

밤톨ㅇl 2024. 5. 14. 23:59
#include <stdio.h>
#include <algorithm>

using namespace std;

int N, K;
int x[1000001];
int dis[1000000];

int main()
{
	int tc;
	scanf("%d", &tc);
	for (int t = 1; t <= tc; t++)
	{
		int answer = 0;
		scanf("%d %d", &N, &K);

		for (int i = 0; i < N; i++)
		{
			scanf("%d", &x[i]);
		}

		for (int i = 0; i < N - 1; i++)
		{
			dis[i] = x[i + 1] - x[i];
		}

		sort(dis, dis + N - 1);

		for (int i = 0; i < N - K; i++)
		{
			answer += dis[i];
		}

		printf("#%d %d\n", t, answer);
	}
}

1. N개의 집 중에서 K개의 발전소를 꼭 설치해야함

2. 그럼 나머지 N - K개는 꼭 전선의 길이를 가지게 됨

3. 각 전선의 길이를 배열에 담아놓음

4. 오름차순 정렬 후 N - K개만 더해보리기

5. 끝