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

首頁 > 學院 > 開發設計 > 正文

hihoCoder--1469 優化延遲(二分+優先隊列)

2019-11-10 17:04:45
字體:
來源:轉載
供稿:網友

題解

注意到SP(k)隨著k增大而遞減,因此可以在[1, N]區間內二分搜索k,對每一個k用優先隊列計算SP(k). 時間復雜度: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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈溪市| 乌拉特中旗| 徐州市| 登封市| 永福县| 保山市| 易门县| 多伦县| 临海市| 安远县| 清镇市| 紫金县| 丹巴县| 泸西县| 寻甸| 萨迦县| 蓝山县| 嵩明县| 乳山市| 额济纳旗| 博客| 咸丰县| 鹿泉市| 普宁市| 米泉市| 英德市| 两当县| 建湖县| 乐至县| 莲花县| 鄱阳县| 临高县| 屏东市| 阿拉尔市| 杭锦旗| 海城市| 昭通市| 峨山| 朝阳县| 两当县| 枣阳市|