結果
| 問題 | No.318 学学学学学 |
| コンテスト | |
| ユーザー |
jp_ste
|
| 提出日時 | 2016-01-30 09:47:16 |
| 言語 | Java (openjdk 23) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,191 bytes |
| 記録 | |
| コンパイル時間 | 2,471 ms |
| コンパイル使用メモリ | 81,132 KB |
| 実行使用メモリ | 73,952 KB |
| 最終ジャッジ日時 | 2024-09-21 19:04:23 |
| 合計ジャッジ時間 | 10,378 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 3 |
| other | TLE * 1 -- * 25 |
ソースコード
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int list[] = new int[N];
HashMap<Integer, ArrayList<Integer>> pathMap = new HashMap<>();
int max = 0;
int min = Integer.MAX_VALUE;
for(int i=0; i<N; i++) {
int a = scan.nextInt();
list[i] = a;
max = Math.max(max, a);
min = Math.min(min, a);
ArrayList<Integer> array = pathMap.get(a);
if( array == null) {
array = new ArrayList<>();
array.add(i);
pathMap.put(a, array);
} else {
array.add(i);
pathMap.put(a, array);
}
}
for(int t=min; t<=max; t++) {
ArrayList<Integer> array = pathMap.get(t);
if(array == null) continue;
if(array.size() == 1) {
int index = array.get(0);
list[index] = t;
} else if(array.size() == 2) {
int from = array.get(0);
int to = array.get(1);
for(int i=from; i<=to; i++) {
list[i] = t;
}
}
}
for(int i=0; i<N; i++) {
if(i==0) {
System.out.print(list[i]);
} else {
System.out.print(" " + list[i]);
}
}
}
}
jp_ste