728x90
풀이 방법
수정중..
주의할 점
1. 숫자의 크기가 int범위를 넘어갈 수 있으므로 long 타입으로 사용한다!
JAVA 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.util.StringTokenizer;
public class Solution {
static StringTokenizer st;
static StringBuilder sb=new StringBuilder();
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T=Integer.parseInt(br.readLine());
for (int t = 1; t < T+1; t++) {
long result=0;
int N=Integer.parseInt(br.readLine());
long[] list=new long[N+1];
st = new StringTokenizer(br.readLine());
for (int i = 1; i < N+1; i++) {
int price = Integer.parseInt(st.nextToken());
list[i]=price;
}
long cnt=0;
long buy=0;
for (int j = N; j > 1; j--) {
long current=list[j];
for (int i = j-1; i >0; i--) {
if(i==1) {
if(current>list[i]) {
cnt++;
buy+=list[i];
}else {
j=i+1;
break;
}
result+=(cnt*current)-buy;
j=i+1;
}else {
if(current>list[i]) {
cnt++;
buy+=list[i];
}else {
result+=(cnt*current)-buy;
cnt=0;
buy=0;
j=i+1;
break;
}
}
}
}
sb.append("#").append(t).append(" ").append(result).append("\n");
}
System.out.println(sb);
}
}
원재야 사재기 그만해...
728x90
'알고리즘 > SWEA' 카테고리의 다른 글
[JAVA] SWEA 7465 창용 마을의 무리의 갯수 (0) | 2021.08.24 |
---|---|
[JAVA] SWEA 3289 서로소 집합 (0) | 2021.08.24 |
[JAVA] SWEA 1238 Contact (0) | 2021.08.23 |