classSolution{public:longlongnumberOfWeeks(vector<int>&milestones){// The best strategy is to pick "max, nonMax, max, nonMax, ...".constintmax=ranges::max(milestones);constlonglongsum=accumulate(milestones.begin(),milestones.end(),0LL);constlonglongnonMax=sum-max;returnmin(sum,2*nonMax+1);}};
123456789
classSolution{publiclongnumberOfWeeks(int[]milestones){// The best strategy is to pick "max, nonMax, max, nonMax, ...".finalintmax=Arrays.stream(milestones).max().getAsInt();finallongsum=Arrays.stream(milestones).asLongStream().sum();finallongnonMax=sum-max;returnMath.min(sum,2*nonMax+1);}}
123456
classSolution:defnumberOfWeeks(self,milestones:List[int])->int:# The best strategy is to pick 'max, nonMax, max, nonMax, ...'.summ=sum(milestones)nonMax=summ-max(milestones)returnmin(summ,2*nonMax+1)