Untitled
unknown
plain_text
2 years ago
775 B
7
Indexable
class Solution {
public:
bool possible(int cap,vector<int>&weights,int days){
int count=1,sum=0;
for(int i=0;i<weights.size();i++){
if(sum+weights[i]>cap){
count++;
sum=0;
}
sum+=weights[i];
}
if(count>days) return false;
else return true;
}
int shipWithinDays(vector<int>& weights, int days) {
int s=INT_MIN,e,mid;
for(auto i:weights){
s=max(s,i);
e+=i;
}
while(s<=e){
mid=s+(e-s)/2;
if(possible(mid,weights,days)){//possible better the answer
e=mid-1;
}else{
s=mid+1;
}
}
return s;
}
};Editor is loading...
Leave a Comment