CHUNGCAKE - Bánh chưng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Nhân dịp Tết nguyên đán năm nay, Nhà trường tổ chức cho các lớp gói bánh Chưng. Có nhiều lớp tham gia, các lớp đã gói được ~n~ cái bánh Chưng, cái thứ ~i~ có thể tích là sô nguyên dương ~v_i~ ~(cm^3)~. Tuy nhiên để luộc những cái bánh này thì lại chỉ có duy nhất một cái nồi với thể tích là ~V~ ~(cm^3)~ và số củi chỉ đủ để luộc duy nhất một nồi. Bạn hãy tính xem có thể luộc được số bánh Chưng với tổng thể tích lớn nhất là bao nhiêu (số bánh Chưng luộc được phải có tổng thể tích không vượt quá thể tích của nồi)?

Input

  • Dòng đầu chứa hai số nguyên dương ~n~ và ~V~;
  • Dòng thứ hai chứa ~n~ số nguyên dương ~v_i~.

Hai số liên tiếp trên một dòng được ghi cách nhau một dấu cách.

Giới hạn:

  • ~1 ≤ n ≤ 30; 1 ≤ V ≤ 2000; 1 ≤ v_i ≤ 100~

Output

  • Một số nguyên duy nhất là tổng thể tích lớn nhất của số bánh Chưng luộc được.

Sample

Input #1
3 8
2 3 4
Output #1
7
Input #2
4 10
1 2 3 4
Output #2
10

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    thinhdo107  đã bình luận lúc 29, Tháng 4, 2024, 17:33

    bài này tớ dùng đệ quy có nhớ là ac được, dùng đệ quy không ac được tét cuối


  • 0
    nguyendinhsuu8a  đã bình luận lúc 19, Tháng 4, 2024, 8:50

    ai làm rùi gửi với ạ

    SOSOSOSOSOSOSOSOSOSOSOSOSOSOSOS


  • 1
    minyzin  đã bình luận lúc 25, Tháng 2, 2024, 8:10

    n,v=map(int,input().split()) b=list(map(int,input().split())) c=b[:] b.sort() c[0]=999 for j in range(len(b)-1,-1,-1): for i in range(len(c)): if i!=j and v-c[i]-b[j]>=0: c[i]+=b[j] if c[i]>v: c[i]=0 print(max(c))

    10 1000

    1 1 6 6 7 10 11 13 13 95

    mng cho e hỏi tại sao ở py dòng if c[i]>v: c[i]=0 nó k chạy đc v ạ?


  • 1
    thh  đã bình luận lúc 30, Tháng 1, 2024, 10:07

    .


  • 0
    Nguyenminhphat311  đã bình luận lúc 24, Tháng 1, 2024, 7:07

    Bafi nay thuoc dang de !!


  • 0
    Aothatday  đã bình luận lúc 17, Tháng 1, 2024, 15:13

    xin test 5 vs test cuối đc ko admin :v


  • 11
    Names_  đã bình luận lúc 20, Tháng 10, 2023, 7:22

    include <iostream>

    include <vector>

    using namespace std;

    int main() { int n, V; cin >> n >> V;

    vector<int> v(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }
    
    vector<vector<int>> dp(n + 1, vector<int>(V + 1, 0));
    
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= V; j++) {
            if (v[i - 1] <= j) {
                dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i - 1]] + v[i - 1]);
            } else {
                dp[i][j] = dp[i - 1][j];
            }
        }
    }
    
    cout << dp[n][V] << endl;
    
    return 0;
    

    } Full ac nha


  • 0
    lenguyenminhhai2k8  đã bình luận lúc 12, Tháng 9, 2023, 1:23

    Mn cho e hỏi tại sao e viết như thế này lại sai ạ:

    include <iostream>

    include <algorithm>

    using namespace std;

    int main(){ int n, v; cin >> n >> v; int a[n+5]; int dem = 0; for (int i = 0; i < n ; i++){ cin >> a[i]; } sort(a, a + n); for (int i = n - 1; i>=0; i--){ v -= a[i]; if (v < 0) break; dem += a[i]; } cout << dem; return 0; }


  • -19
    kimbang  đã bình luận lúc 4, Tháng 8, 2023, 3:26

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 0
      thh  đã bình luận lúc 30, Tháng 1, 2024, 10:07

      Cai nay la do ban nhan xong nguoi ta upvote hay downvote ay