Trang chủ Tin Học Lớp 8 Trong 1 kỳ thi có n thí sinh tham gia...

Trong 1 kỳ thi có n thí sinh tham gia thi, điểm số các bạn thí sinh đạt được đều là các số nguyên dương. Các thí sinh được xếp hạng theo các tiêu chí sau: Thí

Câu hỏi :

Trong 1 kỳ thi có n thí sinh tham gia thi, điểm số các bạn thí sinh đạt được đều là các số nguyên dương. Các thí sinh được xếp hạng theo các tiêu chí sau: Thí sinh có điểm số càng cao thì thứ hạng càng nhỏ. Các thí sinh bằn điểm nhau thì sẽ có thứ hạng như nhau. Có thể hiểu là thứ hạng của thí sinh sẽ bằng = 1+ số lượng thí sinh có điểm số cao hơn. Ví dụ: Với các điểm số 20, 50, 40, 30, 30 thì thứ hạng của các thí sinh lần lượt là 5, 1, 2, 3, 3. Khi công bố kết quả thì ban tổ chức chỉ công bố thứ hạng của các thí sinh chứ không công bố số điểm cụ thể mỗi người. Yêu cầu Cho biết thứ hạng các thí sinh, hãy tìm tổng số điểm nhỏ nhất mà các thí sinh đã đạt được trong kì thi. Dữ liệu Dòng đầu tiên ghi 1 số nguyên dương N (N105) chỉ số học sinh tham dự kì thi. Dòng thứ hai gồm một dãy N số nguyên dương A1,A2,...,AN với Ai là thứ hạng của thí sinh thứ i. Dữ liệu vào đảm bảo dãy thứ hạng của thí sinh là hợp lệ (tồn tại ít nhất một dãy điểm số dẫn đến thứ hạng này). Kết quả In ra tổng số điểm nhỏ nhất mà các thí sinh đạt được trong kì thi. 50đ của tôi=(((

Lời giải 1 :

#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(0);
    long long n;
    cin >> n;
    long long a[n];
    for (long long i=0; i<n; i++) cin >> a[i];
    for (long long i=0; i<n; i++)
        for (long long j=i+1; j<n; j++) if (a[i]<a[j]) {
            int tg=a[i];
            a[i]=a[j];
            a[j]=tg;
        }
    long long d=1,s=1;
    for (long long i=1; i<n; i++) {
        if (a[i-1]!=a[i]) d++;
        s+=d;
    }
    cout << s;
    return 0;
}

Thảo luận

Lời giải 2 :

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n, a[1000005], b[1000005], i, dem = 1, tong = 1;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    sort(a + 1, a + n + 1, greater<ll>());
    for (i = 2; i <= n; i++)
    {
        if (a[i - 1] != a[i])
        {
            dem++;
        }
        tong += dem;
    }
    cout << tong;
    return 0;
}

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK