Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Phan Thái Hà

Viết chương trình giải bài toán:Nam có n viên gạch được đánh số từ 1 đến n. Các viên gạch có độ cứng lần lượt là a1, a2,..., an. Một viên gạch có độ cứng x nghĩa là Nam có thể chồng lên trên viên gạch đó tối đa x viên gạch khác, nếu chồng nhiều hơn thì viên gạch đó bị vỡ. Hỏi Nam có thể sắp được chồng gạch cao nhất là bao nhiêu?Dữ liệu nhập:- Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100) - là số viên gạch.- Dòng tiếp theo gồm n số nguyên a1, a2,..., an (0 ≤ ai ≤ 100) mỗi số cách nhau một khoảng trắng.Dữ liệu xuất- Là số nguyên xác định chiều cao cao nhất của chồng gạch mà Nam sắp được.

Nguyễn hoàng anh
9 tháng 1 2022 lúc 22:26

Dữ liệu nhập:

– Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100) – là số viên gạch.

– Dòng tiếp theo gồm n số nguyên a1, a2,…, an (0 ≤ ai ≤ 100) mỗi số cách nhau một khoảng trắng.

Dữ liệu xuất

– Là số nguyên xác định chiều cao cao nhất của chồng gạch mà Nam sắp được.

Ví dụInput
1 2 1OutputInput
0 0 0 0 0 0Output1

Thuật toán

Sắp xếp mảng theo hướng tăng dần, dùng 1 biến đếm kiểm tra các phần tử a[i] , nếu a[i] lớn hơn thì tăng biến đếm và đó là kết quả bài toán.

Nguyễn hoàng anh
9 tháng 1 2022 lúc 22:26

Dữ liệu nhập:

– Dòng đầu tiên là số nguyên n (1 ≤ n ≤ 100) – là số viên gạch.

– Dòng tiếp theo gồm n số nguyên a1, a2,…, an (0 ≤ ai ≤ 100) mỗi số cách nhau một khoảng trắng.

Dữ liệu xuất

– Là số nguyên xác định chiều cao cao nhất của chồng gạch mà Nam sắp được.

Ví dụInput
1 2 1OutputInput
0 0 0 0 0 0Output1

Thuật toán

Sắp xếp mảng theo hướng tăng dần, dùng 1 biến đếm kiểm tra các phần tử a[i] , nếu a[i] lớn hơn thì tăng biến đếm và đó là kết quả bài toán.

Nguyễn hoàng anh
9 tháng 1 2022 lúc 22:27
Ví dụInput
1 2 1OutputInput
0 0 0 0 0 0Output1
Phan Thái Hà
9 tháng 1 2022 lúc 22:33

biến đếm là bao nhiêu vậy ạ? bằng 0 ạ?

 

 

 

Phan Thái Hà
9 tháng 1 2022 lúc 22:34

code của mình như này, vẫn có chỗ sai sót mong được sửa giúp với ạ

bool comp(long long a, long long b)
{
    return a>b;
}
int main()
{
    long long n,h=0,maxn=0,c=0;
    cin>>n;
    long long a[n];
    for (int i=1;i<=n;i++)
        cin>>a[i];
    sort(a,a+n,comp);
    c=a[1]+1;
    for (int i=1;i<=n;i++)
        h=min(c,a[i]+i);
    if (a[1]==0) cout<<"1";
    else cout<<h;


Các câu hỏi tương tự
Vũ Minh Hiếu
Xem chi tiết
Sự tâm
Xem chi tiết
Meoconngungoc
Xem chi tiết
huynh chinh
Xem chi tiết
Tiểu Z
Xem chi tiết
11111
Xem chi tiết
Nguyễn Xuân Khánh
Xem chi tiết
hoàng văn thịnh
Xem chi tiết
Phạm Gia Long
Xem chi tiết