Thống kê tần suất xuất hiện
        
            Submit solution
        
    
    
    
    
    
    
    
    
    
                    
                
        
            
        
        Points:
        
                2        
    
    
        Time limit:
        1.0s
    
    
        Memory limit:
        98M
    
    
                        Author:
                        
                    
        
                    Problem type                
                
        
                Allowed languages
            
            
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG            
        Bài toán: cho dãy số nguyên n phần tử \(a_1,a_2,...,a_n\) hãy thống kê tần suất xuất hiện của từng phần tử có trong dãy theo thứ tự từ bé đến lớn
Input
Dòng đầu chứa số phần tử n \((1<=n<=1000)\)
Dòng tiếp theo chứa n số nguyên có giá trị tuyệt đối không vượt quá \(10^4\)
Output
Từng dòng là phần tử và tần suất xuất hiện theo thứ tự từ bé đến lớn
Ví dụ
Input
12
4 7 -2 8 4 8 3 -2 4 6 -2 4Output
-2 3
3 1
4 4
6 1
7 1
8 2
Comments
ai làm được bài này cho em xin giải với em làm 2 cách mà mỗi cách lỗi một cái test
My code
em cảm ơn thầy ạ , thầy giúp em giải thích thêm 2 dòng lệnh *p=a+10000; fill(a,a+20006,0); để làm gì ko ạ
Khi khai báo
Thì dưới con mắt của mảng a sẽ đánh chỉ số từ 0 đến 19, ta cho con trỏ p trỏ vào giữa mảng a bằng cách viết p=&a[10] hoặc p=a+10 thì dưới con mắt của p sẽ là một mảng có chỉ số từ p[-10] đến p[9] cái này vì dữ liệu nó âm nên phải làm một mảng có chỉ số cả âm lẫn dương như vậy.
Còn hàm fill là ta gán cho mảng toàn số 0, nếu em khai báo int a[20009]={}; thì có thể bỏ qua hàm fill vì như vậy mặc định mảng toàn 0
vâng em cảm ơn thầy ạ