70pts,WA 2# 7# 10#求助
查看原帖
70pts,WA 2# 7# 10#求助
1081586
Circle_Table楼主2025/7/1 15:59

感觉输出的天数那边也没有问题的啊QwQ

#include <bits/stdc++.h>
#define ll long long
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
ll n,d,a[50005];
ll l,r,mid;

bool check(int x){
	ll h=0,t=0;
	for(int i=1;i<=d;i++){
		h/=2;
		while(h<x&&t<=n){
			h+=a[++t];
			if(t>n)return 0;
		}
	}
	return 1;
}


int main(){
	ios;cin>>n>>d;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		r+=a[i]; 
	}
	while(l<r-1){
		mid=(l+r)/2;
		if(check(mid))l=mid;
		else r=mid;
	}
	cout<<l<<'\n';
	ll h=0,t=0;
	for(int i=1;i<=d;i++){
		h/=2;
		while(h<l&&t<=n){
			h+=a[++t];
			cout<<i<<'\n';
		}
	}
	for(int i=++t;i<=n;i++){
		cout<<d<<'\n';
	}
	return 0;
}

2025/7/1 15:59
加载中...