bzoj4590: [Shoi2015]自動刷題機(二分)
題目傳送門
。
解法:
二分啊。
二分列舉答案然後掃一遍答案就行了呀。
最小值:
如果當前的切題數小於等於k的話。
那麼證明不夠。所以n應該要更小。往下列舉。
最大值:
如果當前的切題數大於等於k的話
那麼證明切題數有多。所以n往大的列舉。
同時如果切題數等於k的話記錄答案就好
程式碼實現:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
typedef long long ll;
ll a[110000];
int main() {
int n,k;scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
ll l=1,r=1ll<<63-1,mid,ans=-1;
while(l<=r) {
mid=(l+r)/2;
ll t=0,s=0;
for(int i=1;i<=n;i++) {
t+=a[i];if(t>=mid)t=0,s++;
if(t<0)t=0;
}
if(s<=k) {r=mid-1;if(s==k)ans=mid;}else l=mid+1;
}
if(ans!=-1) {
printf("%lld ",ans);
l=1,r=1ll<<63-1,ans=-1;
while(l<=r) {
mid=(l+r)/2;
ll t=0,s=0;
for(int i=1;i<=n;i++) {
t+=a[i];if(t>=mid)t=0,s++;
if(t<0)t=0;
}
if(s<k) r=mid-1;else {if(s==k)ans=mid;l=mid+1;}
}printf("%lld\n",ans);
}else printf("-1\n");
return 0;
}
相關文章
- 【SHOI2015】自動刷題機
- 力扣刷題-二分查詢力扣
- 中國大學spoc刷課軟體自動刷課答題
- welearn自動刷題指令碼刷課新起點進階綜合教程指令碼
- welearn刷題指令碼自動答題新起點掛時長指令碼
- 清華社英語 視聽說 互動 自動代做刷題
- 雲課堂MOOC智慧職教慕課Chrom自動刷視訊+自動答題外掛
- 華為機試題刷題總結
- 專題十七 AC自動機【Kuangbin】
- 2020 網路課 智慧樹自動刷課程式碼,自動跳轉,自動答題並關閉彈窗,自動1.5倍速靜音
- 職教雲課堂刷題軟體自動答題播放下一集
- 7月18日刷題記錄 二分答案跳石頭遊戲Getting遊戲
- 刷題
- 國開線上掛課軟體 自動刷課答題 最新穩定版
- 自動機
- 力扣刷題-滑動視窗(字串)力扣字串
- python網課自動刷課程式-------selenium+chromedriverPythonChrome
- 刷題10.10
- 教你用Python實現全自動刷網課Python
- KMP 自動機KMP
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- LeetCode 刷題 [C++] 第33題. 搜尋旋轉排序陣列 (二分法+簡潔易懂)LeetCodeC++排序陣列
- 暴力風扇無刷電機驅動方案
- 幣值管理系統功能介紹,如何搭建自動跑K線機器人,刷量機器人機器人
- Android刷機Android
- 簡單兩步實現學堂線上刷課軟體的使用自動答題
- mysql刷題題後感MySql
- Auto.JS實現抖音,刷寶等刷視訊app,自動點贊,自動滑屏,自動切換視訊JSAPP
- MISC刷題12
- LeetCode 刷題—樹LeetCode
- LeetCode刷題 堆LeetCode
- 每日刷題 3.17
- 刷題學習
- 刷題記錄
- 順序刷題
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- app 自動化 (真機)+jenkins 進行執行問題APPJenkins