2024年2月18日 星期日

[2279] Maximum Bags With Full Capacity of Rocks

又是一個沒什麼人用C寫的題目XD

int comp(const void *a , const void *b)
{
return (*(int *)a - *(int*)b);
}
int maximumBags(int* capacity, int capacitySize, int* rocks, int rocksSize, int additionalRocks) {
int *diff = calloc (capacitySize, sizeof(int));
for (int i=0;i<capacitySize;i++)
diff[i]= capacity[i]- rocks[i];
qsort(diff, capacitySize, sizeof(int), comp);
int ret=0;
for (int i=0;i<capacitySize; i++)
{
#if 0 // can skip this because diff is from small to big
if (diff[i]==0)
{
ret++;
continue;
}
#endif
additionalRocks -= diff[i] ;
if (additionalRocks <0)
break;
ret++;
if (additionalRocks==0)
break;
}
return ret;
}


沒有留言:

張貼留言