[白俊]1399号ATM
問題とI/O
質問へのアクセス
最大値を要求し、入力した引き出し時間を降順に並べて累積すればよい.
降順はArrayssort()関数を用いて実装する.
DPを累計して使用して実現する.
インプリメンテーションコード
import java.io.*;
import java.util.*;
public class Main {
static int dp[];
static int arr[];
static void cal(int a) {
if(a == 0) dp[a] = arr[a];
else dp[a] = arr[a] + dp[a - 1];
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
dp = new int[N];
arr = new int[N];
for(int i = 0; i < N; i++) arr[i] = Integer.parseInt(st.nextToken());
Arrays.sort(arr);
int sum = 0;
for(int i = 0; i < N; i++) {
cal(i);
sum += dp[i];
}
System.out.println(sum);
}
}
Reference
この問題について([白俊]1399号ATM), 我々は、より多くの情報をここで見つけました https://velog.io/@choiish98/백준-11399번-ATMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol