救救孩子!(p1577切绳子求助)
  • 板块学术版
  • 楼主原子げんし
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/12/4 21:44
  • 上次更新2023/11/5 06:41:39
查看原帖
救救孩子!(p1577切绳子求助)
348511
原子げんし楼主2020/12/4 21:44

传送门


#include<bits/stdc++.h>
using namespace std;
//define:
#define REP(i,n) for(int i = 0; i < n; i++)
#define ll long long
//const:
const int MAXN = 10010;
//something:
ll a[MAXN];
int N,K;
ll l = 0,r = 1e18;
bool check(int x) {
	int cnt = 0;
	REP(i,N) {
		cnt += a[i] / x;
	}
	return cnt >= K;
}
//run:
void solve() {
	cin >> N >> K;
	REP(i,N) {
		double x;
		cin >> x;
		a[i] = int(x * 100);
	}
	while(l < r) {
		ll mid = (l + r) / 2;
		if(mid == 0) {
			break;
		}
		if(check(mid)) {
			l = mid + 1;
		} else {
			r = mid - 1;
		}
	}
	printf("%.2lf\n",double(l / 100));
}
//times:
void Times(int T) {
	while(T--) {
		solve();
	}
}
//begin:
int main() {
	int T;
	T = 1;
	//cin >> T;
	Times(T);
	return 0;
}
2020/12/4 21:44
加载中...