문제
풀이
인출하는 데 오래 걸리는 사람
사람이 세 명 이상이어도 비슷한 원리로 증명할 수 있습니다.
코드
Python
n = input()
p = sorted(map(int, input().split()))
for i in range(1, n):
p[i] += p[i - 1]
print(sum(p))C++
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> p(n);
for (int i = 0; i < n; i++)
cin >> p[i];
ranges::sort(p);
int answer = p[0];
for (int i = 1; i < n; i++) {
p[i] += p[i - 1];
answer += p[i];
}
cout << answer;
return 0;
}Java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
StringTokenizer tk = new StringTokenizer(br.readLine());
int p[] = new int[n];
for (int i = 0; i < n; i++)
p[i] = Integer.parseInt(tk.nextToken());
Arrays.sort(p);
int answer = p[0];
for (int i = 1; i < n; i++) {
p[i] += p[i-1];
answer += p[i];
}
bw.write(answer + "");
bw.close();
}
}