请问这道题用这个代码是什么意思?

img

#include<bits/stdc++.h>
using namespace std;
int num, number, a[99999];
int main() {
    cin >> num;
    for(int i = 1; i <= num; i++) {
        cin >> number;
        a[number]++;
    }
    for(int i = 0; i < 99999; i++) {
        for(int j = 1; j <= a[i]; j++) {
            cout << i << endl;
        }
    }
    return 0;
}

请问这道题用这个代码是什么意思?

下标作为价格,数组元素代表有几个这个价的商品;输出的大循环可以 i < 99999 改为 i <= 1000