█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 1384

Problema 0xcf - Mirando al horizonte

  • Autor: judavid.arias
  • Fecha: 2020-10-24 20:35:06 UTC (Hace más de 3 años)
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
Puntos totales: 50 / 100

Código


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();

        }
    }
}