40?!救
查看原帖
40?!救
568903
Miracle1024楼主2023/5/8 21:27

40分\kk

测评记录

#include<iostream>
#include<set>
#include<map>
#include<algorithm>
using namespace std;
typedef long long ll;
int w[2][200007]={0},c,czh=0,l,n,k,sd,zs,num,a=1,b,y=-1,mid;
int cnt (int mid){
	c=0;
	int ka=0;
	for(int i=1;i<=n;i++){
		while(w[0][i]-ka>=mid){
			c++;
			ka=ka+mid;
		}
		ka=w[0][i];
	}
	return c;
}
int main(){
	cin>>l>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>sd;
		czh=sd-w[0][i-1];
		w[0][i]=sd;
		w[1][i]=czh;
		if(w[1][i]>y){
			y=w[1][i];
		}
	}
	b=y;
	while(a<b){
		mid=a+((b-a)>>1);
		int dkk=cnt(mid);
		if(dkk>k){
			a=mid+1;
		}
		else{
			b=mid;
		}
	}
	printf("%d",a);
    return 0;
}
2023/5/8 21:27
加载中...