please suggest some modifications in my code its not passing 3test cases
#include
#include
using namespace std;
bool possible(int board[],int mid,int k,int n){
int cnt=1;
int time=0;
for(int i=0;i<n;i++){
if(time+board[i]>mid){
cnt++;
time=board[i];
if(cnt>k){
return false;
}
}
else{
time+=board[i]; }
}
return true;
}
int main() {
int k,n;
cin>>k>>n;
int len_board[n];
for(int i=0;i<n;i++){
cin>>len_board[i];
}
long long sum=0;
for(int i=0;i<n;i++){
sum += len_board[i];
}
sort (len_board,len_board+n);
int ans;
int s=len_board[n-1];
int e=sum;
while(s<=e){
int mid=(s+e)/2;
bool boardHoGaya= possible(len_board,mid,k,n);
if( boardHoGaya){
ans=mid;
e=mid-1;
}
else{
s=mid+1;
}
}
cout<<ans;
return 0;
}
