Trang chủ Tin Học Lớp 12 một người bán đồ muốn cân n với món đồ...

một người bán đồ muốn cân n với món đồ biết trọng lượng cân tối đa của cân là S.Hãy lập trình để tìm cách xếp thật nhanh cho người bán câ

Câu hỏi :

một người bán đồ muốn cân n với món đồ biết trọng lượng cân tối đa của cân là S.Hãy lập trình để tìm cách xếp thật nhanh cho người bán cân INPUT: Dòng đầu tiên là hai số nguyên dương 𝑛 và 𝑆 (𝑛, 𝑆 10^6 ), Dòng tiếp theo gồm 𝑛 số nguyên dương 𝑎1, 𝑎2, , 𝑎𝑛 là cân nặng của các món đồ , tính theo gram (𝑖: 𝑎𝑖 𝑆). OUTPUT: Một số nguyên duy nhất là số lần dùng cân tối thiểu để tất cả các món đồ đều được cận Ví dụ INPUT 4 100000 40000 50000 60000 50000 output 2

Lời giải 1 :

sort+2 con trỏ =) sai nhiều quá =( sr chủ thớt
// carot15
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
 int n,s,ans=0;
 cin>>n>>s;
 int a[n];
 for (int i=0;i<n;i++) cin>>a[i];
 sort(a,a+n,greater<int>());
 int i=0,j=n-1;
 while (i<=j){
 int s1=a[i];
 i++;
 while(s1+a[j]<=s&&j>=i){
  s1+=a[j];
  j--;
 }
 while(s1+a[i]<=s&&i<=j){
  s1+=a[i];
  i++;
 }
  ans++;
 }
 cout<<ans;
}

Thảo luận

-- đây có thể chứa nhiều đồ
-- mình đã sửa lại lời giải cảm ơn bạn đã tìm hộ test sai =)
-- để tìm coi test nào sai nx k
-- 4 10 7 2 3 9 SAO LẠI RA 4 NHỈ 🤔🤔
-- aaaaaaaaaaaa lại sai =( sr my bad
-- cứ vote 2-3 sao nha =| sai nhiều quá mấy bài gây lú
-- vừa sửa lại ở cái sort =V
-- cảm ơn đã kiếm đc test sai

Lời giải 2 :

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

                    else

                     if (a[i] + a[j] >m)

                     {

                                  break;

                     }
                }
            }
        }
    }
    for (i = 1; i <= n; i++)
    {
        if (a[i] != 0)
        {
            dem++;
        }
    }
    cout << dem;
}

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ự 12

Lớp 12 - Năm cuối ở cấp tiểu học, năm học quan trọng nhất trong đời học sinh trải qua bao năm học tập, bao nhiêu kì vọng của người thân xung quanh ta. Những nỗi lo về thi đại học và định hướng tương lai thật là nặng. Hãy tin vào bản thân là mình sẽ làm được rồi tương lai mới chờ đợi các em!

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