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

Envío 1992

Problema 0xde - Ordenar un arreglo grande

  • Autor: judavid.arias
  • Fecha: 2020-11-15 13:26:06 UTC (Hace más de 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.006 s 1 KBi
#2
Correcto
0.007 s 1 KBi
#3
Correcto
0.005 s 1 KBi
#4
Correcto
0.005 s 2 KBi
#5
Correcto
0.006 s 1 KBi
#6
Correcto
0.006 s 3 KBi
#7
Tiempo límite excedido
0.667 s 2 KBi
#8
Tiempo límite excedido
0.639 s 2 KBi
#9
Tiempo límite excedido
0.475 s 2 KBi
#10
Tiempo límite excedido
0.445 s 2 KBi
#11
Tiempo límite excedido
1.031 s 2 KBi
#12
Tiempo límite excedido
1.015 s 2 KBi
#13
Tiempo límite excedido
0.554 s 2 KBi
#14
Tiempo límite excedido
0.542 s 2 KBi
#15
Tiempo límite excedido
0.528 s 2 KBi
#16
Correcto
0.072 s 2 KBi
#17
Correcto
0.088 s 2 KBi
#18
Tiempo límite excedido
0.487 s 2 KBi
#19
Tiempo límite excedido
0.541 s 1 KBi
#20
Tiempo límite excedido
0.499 s 2 KBi
#21
Tiempo límite excedido
0.81 s 2 KBi
#22
Correcto
0.064 s 2 KBi
#23
Correcto
0.07 s 2 KBi
#24
Correcto
0.07 s 2 KBi
#25
Correcto
0.073 s 2 KBi
#26
Correcto
0.087 s 2 KBi
#27
Correcto
0.096 s 2 KBi
Puntos totales: 52 / 100

Código

#include <iostream>
using namespace std;

 int partition(int y[], int f, int l) {
     int up,down,temp;
     int piv = y[f];
     up = f;
     down = l;
     goto partLS;
     do { 
         temp = y[up];
         y[up] = y[down];
         y[down] = temp;
     partLS:
         while (y[up] <= piv && up < l) {
             up++;
         }
         while (y[down] > piv  && down > f ) {
             down--;
         }
     } while (down > up);
     y[f] = y[down];
     y[down] = piv;
     return down;
 }

void quicksort(int x[], int first, int last) {
     int pivIndex = 0;
     if(first < last) {
         pivIndex = partition(x,first, last);
         quicksort(x,first,(pivIndex-1));
         quicksort(x,(pivIndex+1),last);
     }
 }



int main() {
	
	int N;
	cin >> N;
	int array[N];
	for(int i =0;i<N;i++)
		cin >> array[i];
	
	quicksort(array, 0,N-1);
	
	for(int i =0;i<N;i++)
		cout << array[i] << " ";
	return 0;
}