Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
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;
}
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