結果
| 問題 | No.3656 Game Scores and Costs |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-08-30 14:24:11 |
| 言語 | Java (openjdk 26.0.2.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 986 bytes |
| 記録 | |
| コンパイル時間 | 2,203 ms |
| コンパイル使用メモリ | 93,424 KB |
| 実行使用メモリ | 82,412 KB |
| 最終ジャッジ日時 | 2026-08-30 14:24:39 |
| 合計ジャッジ時間 | 18,702 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | WA * 21 |
ソースコード
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
int X = sc.nextInt();
long sum = 0;
long sum1 = 0;
int[] A = new int[N + 1];
TreeSet<Integer> set = new TreeSet<>();
List<Long> answerList = new ArrayList<>();
for(int i = 1; i <= N; i++) {
A[i] = sc.nextInt();
set.add(A[i]);
sum1 = sum1 + A[i];
if(set.size() <= K) {
// sum = sum + A[i] - X * i;
sum = sum1 - X * i;
}else {
int first = set.pollFirst();
sum1 = sum1 - first;
sum = sum1 - X * i;
// sum = sum + A[i] - first - X * i;
}
// System.out.println(set);
answerList.add(sum);
// System.out.println(sum);
}
Collections.sort(answerList);
System.out.println(answerList.get(answerList.size() - 1));
}
}