社区讨论
70分 995 必关
P1182数列分段 Section II参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mlm0k8wv
- 此快照首次捕获于
- 2026/02/14 15:47 5 天前
- 此快照最后确认于
- 2026/02/17 21:50 前天
CPP
#include <bits/stdc++.h>
using namespace std;
int n,m,a[100005];
bool check(int x)
{
int y=0,t=0;
for(int i=1;i<=n;i++)
{
if(y+a[i]<=x)y+=a[i];
else
{
y=a[i];
t++;
}
}
return t>=m;
}
int main()
{
cin>>n>>m;
int l=0,r=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
l=max(l,a[i]);
r+=a[i];
}
while(l<=r)
{
int mid=(l+r)/2;
if(check(mid))
{
l=mid+1;
}
else
{
r=mid-1;
}
}
cout<<l;
return 0;
}
最后两个测试点一个TLE一个WA
回复
共 2 条回复,欢迎继续交流。
正在加载回复...