2025年10月12日 星期日

[2187] Minimum Time to Complete Trips

討厭的題目
看不懂,也不想懂(怒)
要套成binary search 也太牽強了吧><
中間的計算, mid 秒數時可以達成的trip數,拉出去function做就timeout了
好啊好啊都給你去弄就好了(翻桌子)
然後~
為什麼mid相等時不直接return 呢? 不就是找到了嗎?五為~~~~~~(抱頭)
long long checkTime(int* time, int timeSize, long long totalTime) {
long long ret =0;
for (int i=0; i<timeSize; i++)
{
ret += totalTime/time[i];
}
//printf("ret %d\n", ret);
return ret;
}

long long minimumTime(int* time, int timeSize, int totalTrips) {
long long int l =0;
long long int r = time[0];
for (int i=1; i<timeSize; i++)
{
if (time[i]<r)
r=time[i];
}
r = r*totalTrips;
while (l<r)
{
long long mid = l+(r-l)/2;
long long tmp_time =0;
for (int i=0; i<timeSize; i++)
tmp_time += mid/time[i];
if (tmp_time >= totalTrips)
r=mid; // might be too much ?__?
else
l=mid+1;
}
return l;
}

沒有留言:

張貼留言