Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Lỗi tìm mảng con kích thước lớn nhất

22:37 15-12-2023 876 lượt xem 1 bình luận 21:48 17-12-2023

Mấy anh chị ơi giúp em với, em ko biết code sai ở đâu??

Cho dãy A gồm N phần tử số nguyên dương và một số nguyên dương K; Tìm mảng con có kích thước lớn nhất sao cho tất cả các mảng con có kích thước bé hơn nó đều có tổng các phần tử nhỏ hơn K.

Vd :

input :

4 8

1 2 3 4

output :

2

 

#include <bits/stdc++.h>
using namespace std;
int n,k;
long long a[1000001],b[1000001],x,s=0,dem=-1;
void nhap(){
    cin>>n>>k;
    b[0]=0;
    for (int i=1;i<=n;i++){
        cin>>a[i];
        b[i]=b[i-1]+a[i];
    }
    for (int i=1;i<=n;i++){
        for (int j=i;j<=n;j++){
            if (b[j]-b[i-1]<k){
                if (b[j]-b[i-1]>s) {s=b[j]-b[i-1];dem=j-i+1;}
                if (b[j]-b[i-1]==s && j-i+1<dem) dem=j-i+1;
            }
        }
    }
}
void xuat(){
    cout<<dem<<" "<<s;
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    nhap();
    xuat();
    return 0;
}

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
mingming đã bình luận 10:31 17-12-2023
trong phần bài tập mảng hai chiều em định nghĩa hàm hết các ý nhưng e gặp vấn đề với các hàm làm thay đổi đến ma trận mà khởi tạo lúc đầu.
Ví dụ: sau khi dùng hàm xóa cột thì ma trận bị thay đổi nên khi vào hàm xóa hàng nó không còn là ma trận khởi tạo ban đầu nữa hiện tại e muốn sau khi vào một hàm thì giá trị của ma trận vẫn sẽ như cũ sau khi thoát hàm (hiện tại các hàm xóa cột hay xóa hàng của em đang dùng void).
Em mong được a chị hồi đáp và giúp đỡ ạ.
Em xin cảm ơn

Câu hỏi mới nhất