fbpx

Problema #618 – Inaltimi – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau înălțimile a n copii, numerotați de la 1 la n, exprimate prin numere naturale. Afișați numerele de ordine ale copiilor în ordinea crescătoare a înălțimii lor.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații, reprezentând, în ordine, înălțimile copiilor.

Date de ieșire

Programul va afișa pe ecran n numere naturale distincte cuprinse între 1 și n, separate prin exact un spațiu, reprezentând numerele de ordine ale copiilor în ordinea crescătoare a înălțimii.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • înălțimile copiilor vor fi numere naturale distincte din intervalul [1 , 10000]

Exemplu

Intrare

7
8 20 16 14 10 4 12 

Ieșire

6 1 5 7 4 3 2
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    int INF = 10000 + 1;
    cin >> n;
    int a[1001];
    for(int i = 1; i <= n; ++i)
        cin >> a[i];

    for(int i = 1; i <= n; ++i){
        int min = INF, poz = 0;
        for(int j = 1; j <= n; ++j)
            if(a[j] < min)
                min = a[j], poz = j;
        a[poz] = INF;
        cout << poz << ' ';
    }

    return 0;
}
Comentarii

S-ar putea sa iti placa