728x90
반응형
2569번: 짐정리
첫째 줄에 짐칸의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 짐의 무게가 차례대로 주어진다. 짐칸의 수는 1,000이하의 자연수이며, 짐의 무게는 10,000이하의 자연수이다. 모든 짐의 무게는
www.acmicpc.net
#include<cstdio>
#include<algorithm>
using namespace std;
int n,ck[1000],r;
pair<int,int> p[1000];
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i++) scanf("%d", &p[i].first), p[i].second = i;
sort(p, p + n);
for (int i = 0; i < n; i++) {
if (ck[i]) continue;
int c=0;
for (int j = i; !ck[j]; j = p[j].second) {
ck[j] = 1;
r += p[j].first;
c++;
}
r += min(p[0].first*(c + 1) + p[i].first, p[i].first*(c-2));
}
printf("%d", r);
return 0;
}
728x90
반응형
'IT 정보 > 알고리즘(백준, BOJ)' 카테고리의 다른 글
[백준-BOJ] 2577 (0) | 2021.02.08 |
---|---|
[백준-BOJ] 2572 (0) | 2021.02.08 |
[백준-BOJ] 2490 (0) | 2021.02.07 |
[백준-BOJ] 2410 (0) | 2021.02.06 |
[백준-BOJ] 2357 (0) | 2021.02.06 |