classSolution{public:longlongnumberOfWeeks(vector<int>&milestones){// The best strategy is to pick "max, nonMax, max, nonMax, ...".constintmax=*max_element(begin(milestones),end(milestones));constlonglongsum=accumulate(begin(milestones),end(milestones),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)