有 n n n 臺設(shè)備和可在任何時刻為任意設(shè)備每秒充電 p p p 個單位的充電寶。求電量耗盡前使用時間最短的設(shè)備的最長使用時間。
對于 100 100 100%的數(shù)據(jù) 1 ≤ n ≤ 100000 1≤n≤100000 1≤n≤100000, 1 ≤ p ≤ 100000 1≤p≤100000 1≤p≤100000, 1 ≤ a i , b i ≤ 100000 1≤ai,bi≤100000 1≤ai,bi≤100000。
思路/分析:給設(shè)備
i
i
i 充電
k
k
k 秒(
k
k
k 不一定是整數(shù))其實就是在
b
[
i
]
b[i]
b[i] 的基礎(chǔ)上加上
k
p
kp
kp,所以充電的具體時間不會影響答案,我們只需保證:每個設(shè)備的原電量
b
[
i
]
+
b[i] +
b[i]+ 充電時間
k
k
k 充電速度
p
=
p =
p= 可用時間* 每個設(shè)備的耗電速度
a
[
i
]
a[i]
a[i] (最優(yōu))。
如果單位時間內(nèi)總消耗能量小于單位時間內(nèi)供應能量,則無解。
#includeusing namespace std;
const int M = 100005;
int n;
double a[M],b[M],p;
bool check(double x){double sum = 0;
for(int i = 1;i<= n;i++){if(b[i]< x * a[i]){ sum += x * a[i] - b[i];
}
}
return sum<= p * x;
}
int main(){cin >>n >>p;
double asum = 0;
for(int i = 1;i<= n;i++){cin >>a[i] >>b[i];
asum += a[i];
}
if(asum<= p){cout<< -1<< endl;
return 0;
}
double l = 0,r = 1000000;
while(r - l >0.000001){double mid = (r + l) / 2;
if(check(mid)){ l = mid;
}
else r = mid;
}
cout<< l;
return 0;
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前名稱:洛谷P3743kotori的設(shè)備-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article26/idecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、ChatGPT、網(wǎng)站導航、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容