Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.153 s | 50 KBi |
#2 |
Correcto
|
0.153 s | 15 KBi |
#3 |
Correcto
|
0.157 s | 14 KBi |
#4 |
Correcto
|
0.148 s | 24 KBi |
#5 |
Correcto
|
0.159 s | 26 KBi |
#6 |
Correcto
|
0.158 s | 15 KBi |
#7 |
Tiempo límite excedido
|
1.099 s | 95 KBi |
#8 |
Tiempo límite excedido
|
1.142 s | 96 KBi |
#9 |
Tiempo límite excedido
|
1.153 s | 100 KBi |
#10 |
Tiempo límite excedido
|
1.112 s | 86 KBi |
#11 |
Tiempo límite excedido
|
1.028 s | 86 KBi |
#12 |
Tiempo límite excedido
|
1.074 s | 93 KBi |
#13 |
Tiempo límite excedido
|
1.125 s | 96 KBi |
#14 |
Tiempo límite excedido
|
1.021 s | 94 KBi |
#15 |
Tiempo límite excedido
|
1.08 s | 57 KBi |
#16 |
Tiempo límite excedido
|
1.024 s | 86 KBi |
#17 |
Tiempo límite excedido
|
1.147 s | 96 KBi |
#18 |
Tiempo límite excedido
|
1.126 s | 96 KBi |
#19 |
Tiempo límite excedido
|
1.05 s | 57 KBi |
#20 |
Tiempo límite excedido
|
1.032 s | 94 KBi |
#21 |
Tiempo límite excedido
|
1.121 s | 93 KBi |
#22 |
Tiempo límite excedido
|
1.097 s | 92 KBi |
#23 |
Tiempo límite excedido
|
1.087 s | 94 KBi |
#24 |
Tiempo límite excedido
|
1.188 s | 93 KBi |
#25 |
Tiempo límite excedido
|
1.071 s | 91 KBi |
#26 |
Tiempo límite excedido
|
1.096 s | 99 KBi |
#27 |
Tiempo límite excedido
|
1.085 s | 90 KBi |
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int N = sc.nextInt(); int numberArray[] = new int[N]; for(int i = 0; i < N; i++) { numberArray[i] = sc.nextInt(); } sc.close(); // MergeSort Main mergeSort = new Main(); mergeSort.sort(numberArray, 0, numberArray.length - 1); for(int i = 0; i < numberArray.length; i++) { System.out.print(numberArray[i] + " "); } } void sort(int numberArray[], int lowIndex, int highIndex) { if (lowIndex < highIndex) { int middlePoint = lowIndex + (highIndex - lowIndex) / 2; sort(numberArray, lowIndex, middlePoint); sort(numberArray, middlePoint + 1, highIndex); merge(numberArray, lowIndex, middlePoint, highIndex); } } void merge(int numberArray[], int lowIndex, int middlePoint, int highIndex) { int size1 = middlePoint - lowIndex + 1; int size2 = highIndex - middlePoint; int L[] = new int[size1]; int R[] = new int[size2]; for (int i = 0; i < size1; ++i) L[i] = numberArray[lowIndex + i]; for (int j = 0; j < size2; ++j) R[j] = numberArray[middlePoint + 1 + j]; int i = 0, j = 0; int k = lowIndex; while (i < size1 && j < size2) { if (L[i] <= R[j]) { numberArray[k] = L[i]; i++; } else { numberArray[k] = R[j]; j++; } k++; } while (i < size1) { numberArray[k] = L[i]; i++; k++; } while (j < size2) { numberArray[k] = R[j]; j++; k++; } } }