国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

hihoCoder--1469 優(yōu)化延遲(二分+優(yōu)先隊(duì)列)

2019-11-10 19:27:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

題解

注意到SP(k)隨著k增大而遞減,因此可以在[1, N]區(qū)間內(nèi)二分搜索k,對(duì)每一個(gè)k用優(yōu)先隊(duì)列計(jì)算SP(k). 時(shí)間復(fù)雜度:O(n?logn?logn)

#include <bits/stdc++.h>using namespace std;const int maxn = 100000 + 10;long long N, Q;int p[maxn];long long SP(int k){ PRiority_queue<int> pq; long long sp = 0; int cnt = 1; for(int i = 1; i <= k; ++i) pq.push(p[i]); for(int i = k + 1; i <= N; ++i){ int val = pq.top(); pq.pop(); sp += val * cnt++; pq.push(p[i]); } while(!pq.empty()){ sp += pq.top() * cnt++; pq.pop(); } return sp;}int main(){#ifndef ONLINE_JUDGEfreopen("data.in", "r", stdin);#endif ios::sync_with_stdio(false); cin >> N >> Q; for(int i = 1; i <= N; ++i){ cin >> p[i]; } int l = 1, r = N, ans = -1; while(l <= r){ int k = (l + r) >> 1; if(SP(k) <= Q){ ans = k; r = k - 1; }else l = k + 1; } cout << ans << endl; return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新竹市| 福安市| 饶平县| 云龙县| 汉源县| 乐清市| 巴林左旗| 三河市| 军事| 玉门市| 漠河县| 阳新县| 兴业县| 洛川县| 普兰县| 宁明县| 从江县| 筠连县| 乌鲁木齐县| 唐河县| 会昌县| 秦安县| 中牟县| 绿春县| 平阳县| 慈溪市| 唐海县| 宁国市| 吴江市| 罗源县| 竹山县| 宜都市| 天长市| 南汇区| 仪征市| 山阳县| 左云县| 乐安县| 庆云县| 沁源县| 临城县|