Solução Informática - Nível Iniciante - Semana 26

Solução por Anita Ramos

Esse problema pede que você ordene um vetor com extensão de até 3000000 posições. A programação em si não é nada complexa, apenas exige que você conheça uma forma de ordenar esse vetor. Para isso, utilizaremos a função sort(), que pode ser empregada da seguinte forma:

  • Se eu quero ordenar um vetor v[10], com 10 posições:
    • sort(nome do vetor, nome do vetor + seu tamanho)
      • sort(v, v+10);

Assim, iniciando a programação então, depois de declarar a biblioteca e o vetor v[], lemos o número de casos de teste (NC) e já construímos um loop para processar todos os casos de teste. Dentro dele lemos o N e usamos outro loop para ler as alturas. Em seguida chegamos a função sort() que nesse caso utiliza os seguintes parâmetros: v e v+N. Por fim, basta imprimir o valor de cada posição do vetor com um loop de 0 a N, dando espaçamento para todos menos para o primeiro termo (configuração de saída), e retornar a 0.

Segue o código comentado para melhor compreensão da solução


#include<bits/stdc++.h> //biblioteca utilizada
using namespace std;
const int MAXN=3000010; //declaro um int constante 'MAXN' como 3000010
int v[MAXN]; //declaro um vetor de tamanho 'MAXN'
int main()
{
int NC,N; //declaro as variáveis 'NC' e 'N'
scanf("%d", &NC); //leitura do número de casos de teste
while(NC>0) //enquanto tiver casos de teste
{
scanf("%d", &N); //leitura do N
for(int i=0; i<N; i++)scanf("%d", &v[i]); //leio as alturas a partir de um loop, armazenando todas no vetor
sort(v,v+N); //uso a função sort() para ordenar meu vetor
for(int i=0; i<N; i++) //loop para imprimir a resposta
{
if(i==0)printf("%d", v[i]); //se for o primeiro termo de uma sequência, imprimo o valor da primeira posição SEM espaçamento antes
else printf(" %d", v[i]); ; //senão, imprimo o valor da posição determinada COM espaçamento antes
}
printf("\n"); //imprimo uma linha em branco
NC--; //subtraio 1 do número de casos de teste
}
return 0; //retorna a 0
}

view raw

altura.cpp

hosted with ❤ by GitHub