int cmp(const void* a,const void* b){
return *(int*)a-*(int*)b;}
int maxSatisfaction(int* satisfaction, int satisfactionSize){
qsort(satisfaction,satisfactionSize,sizeof(int),cmp);
int i=0;
for(i;i<satisfactionSize;i++)if(satisfaction[i]>=0)break;
if(i==satisfactionSize)return 0;
int Mark1=0,Mark=0;
for(int j=i,k=1;j<satisfactionSize;j++,k++){
Mark+=satisfaction[j]*k;
Mark1+=satisfaction[j];
}
for(int j=i-1;j>=0;j--)
if(Mark1+satisfaction[j]>=0){
Mark+=(Mark1+satisfaction[j]);
Mark1+=satisfaction[j];
}
else
break;
return Mark;
}
LeetCode打卡78
最新推荐文章于 2022-11-12 12:02:37 发布