아! 여기서 다음날의 값이 계속 더 크면 아무것도 하지않고 max값만 바뀐다.
그래서, 음수 여부를 체크할 필요가 없었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int testCase = Integer.parseInt(br.readLine());
for (int t = 0; t < testCase; t++) {
int N = Integer.parseInt(br.readLine());
int[] price = new int[N];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
price[i] = Integer.parseInt(st.nextToken());
}
int max = price[N - 1];
long profit = 0;
for (int i = N - 2; i >= 0; i--) {
if (max > price[i]) {
profit += max - price[i];
} else {
max = price[i];
}
}
System.out.println(profit);
}
}
}