cant find the error in my code
#include<bits/stdc++.h>
using namespace std;
#define ll long long
bool isPossible(ll arr[],int k,int n,ll cur_min){
int i=0;
int painters_used=1;
while(i<n){
ll time=0;
while(1){
time+=arr[i];
if(time>cur_min){
painters_used++;
break;
}
i++;
}
if(painters_used>k)
break;
}
if(i==n)
return true;
else
return false;
}
int main() {
int k,n;
cin>>k>>n;
ll arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
sort(arr,arr+n);
ll s=arr[n-1];
ll e=0;
for(int i=0;i<n;i++){
e+=arr[i];
}
ll ans=INT_MAX;
while(s<=e){
ll mid=(s+e)/2;
if(isPossible(arr,k,n,mid)){
ans=min(ans,mid);
e=mid-1;
}
else{
s=mid+1;
}
}
cout<<ans;
return 0;
}

