Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.17 s | 15 KBi |
#2 |
Correcto
|
0.149 s | 12 KBi |
#3 |
Correcto
|
0.193 s | 13 KBi |
#4 |
Correcto
|
0.179 s | 13 KBi |
#5 |
Correcto
|
0.193 s | 14 KBi |
#6 |
Tiempo límite excedido
|
1.095 s | 97 KBi |
#7 |
Tiempo límite excedido
|
1.098 s | 98 KBi |
#8 |
Tiempo límite excedido
|
1.018 s | 97 KBi |
#9 |
Tiempo límite excedido
|
1.033 s | 98 KBi |
#10 |
Tiempo límite excedido
|
1.068 s | 97 KBi |
import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int c = sc.nextInt(); for(int j = 0;j<c;j++){ int N = sc.nextInt(); int []array = new int[N]; int []solve= new int[N]; for(int i = 0;i<N;i++) { array[i] = sc.nextInt(); } LinkedList<Integer> l = new LinkedList<>(); for(int i = N-1;i>=0;i--){ if(l.size() > 0 ){ while(!l.isEmpty() && array[i]>=l.peekFirst()){ l.pollFirst(); } if(l.size() == 0){ solve[i] = -1; l.push(array[i]); }else{ solve[i] = l.peekFirst(); l.push(array[i]); } }else{ solve[i] = -1; l.push(array[i]); } } System.out.print("Case #" + (j+1) + ":"); for(int i = 0;i<N;i++) System.out.print(" " + solve[i]); System.out.println(); } } }