#include
using namespace std;
bool paintime(int a[],int board,int paint,long int time,long int mid){
int cnt=1;
long int t=0;
for(int i=0;i<board;i++){
t+=timea[i];
if(t>mid){
cnt++;
t=timea[i];
}
}
if(t<=mid and cnt==paint){
return true;
}
return false;
}
int main(){
int board,paint,a[1000];
long int time,mid,ans;
int sum=0;
cin>>board>>paint>>time;
for(int i=0;i<board;i++){
cin>>a[i];
sum=sum+a[i];
}
int s=0,e=sum*time;
while(s<=e){
mid=(s+e)/2;
bool painter=paintime(a,board,paint,time,mid);
if(painter){
e=mid-1;
ans=mid;
}
else{
s=mid+1;
}
}
cout<<ans;
return 0;
}
What is wrong in my answer?
I have edited your code… Try to submit it now…