Time limit: 1.0s , Memory limit: 256M , Points: 1 (partial)
Cho dãy số nguyên phần tử
. Hãy in ra thứ hạng của các phần tử theo chiều giảm
dần, hạng bắt đầu từ
. Hai phần tử bằng nhau thì chung một hạng.
Input
Dòng đầu tiên chứa số nguyên thỏa
.
Dòng tiếp theo chứa các số nguyên
thỏa
.
Output
In ra hạng của lần lượt từng phần tử, mỗi hạng trên một dòng.
Samples
Sample Input 1
7
1 2 1 1 2 3 4
Sample Output 1
5
3
5
5
3
2
1
Comments
lý do đề có số 1 xếp hạng 5 mà không phải 4 là do cách xếp hạng của đề là như thế này: giả sử phần tử đầu tiên của mảng có hạng là 1, bắt đầu mang nó đi so sánh với các phần tử khác của mảng. Nếu nó nhỏ hơn thì hạng tăng lên một. Ở đây(tạm gọi là mảng a) ban đầu a[0] = 1 có rank là 1, khi so sánh với phần tử a[1] = 2, vì nó bé hơn nên sẽ +1 và khi đó rank = 2, so sánh tương tự với a[2] và a[3] thấy chúng bằng giá trị của a[0] nên rank vẫn là 2. Nhưng khi so sánh với a[4] = 2 > a[0] = 1 nên rank lại +1, khi đó rank = 3(vấn đề nằm ở đây,đáng lẽ ra giá trị bằng 2 ở a[4] ko nên được so sánh nữa vì giá trị bằng 2 đã được so sánh ở a[2] rồi ). Cho nên khi tiếp tục so sánh với a[5] = 3 > a[0] rank + 1 và a[6] = 4 > a[0] rank +1. Vì vậy kết quả thu được là rank a[0] = 5
Nhưng đề ghi không đúng logic
Nhập từ 1 đến n. sắp xếp các phần tử từ lớn đến bé. 4 3 2 2 1 1 1 -> 4 là hạng 1, 3 là hạng 2, 2 là hạng 3, 2 là hạng 4, nhưng vì giống nhau nên vẩn là hạng 3. 1 là hạng 5.
tại sao 1 lại hạng 5 mà không phải hạng 4 vậymn
Giải thích đề : 4 số to nhất hạng 1 ; số 3 hạng 2; 2 số 2 đồng hạng 3 vậy là 1 chỉ còn là hạng 5
Trong vd thì số 2 có hai số giống nhau nên chung hạng 3, vì phía trên số 1 có bốn số lớn hơn nên đồng hạng 5 (giả sử có thêm số ở sau thì sẽ ở hạng 9). Cái này là cách xếp chuẩn trong mọi bxh rồi.
Vì sao hạng của 1 là 5 mà k phải là 4 v ạ ?
sao trong vd hang lai tu 1,2,3 roi 5 ai gt vs
nhap day bat dau tu 1 den n chu dung tu o den n-1