比赛 2019级快乐小组模拟赛19.9.19 评测结果 AAAAAAAAAA
题目名称 月度花费 最终得分 100
用户昵称 ShallowDream雨梨 运行时间 0.087 s
代码语言 C++ 内存使用 14.04 MiB
提交时间 2019-09-18 21:47:53
显示代码纯文本
    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=100005;
    int a[maxn],m,r,l=1,n,ans;
    bool check(int x){
    	int sum=0,num=0;
    	for(int i=1;i<=n;i++){
    		sum+=a[i];
    	if(sum>x){ 
    	num++;sum=a[i];}} 
		if(num>=m)return false;
		return true;
		}
    int main(){
    	freopen("expense.in","r",stdin);
    	freopen("expense.out","w",stdout);
		 cin>>n>>m;
		 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)>>1;
			if(check(mid)==false)
				l=mid+1;
			else r=mid;}
					cout<<l;
    	return 0;
    }
    /*
    10 3
1
1
1
10000
1
1
1
1
1
1
*/