网站开发虚拟主机系统,长沙seo平台,商洛 网站建设,铜陵网站建设题意#xff1a;给出n个城市#xff0c;n个城市分别的居民#xff0c;m个盒子#xff0c;为了让每个人都投上票#xff0c;问每个盒子应该装多少张票 二分盒子装的票数#xff0c; 如果midm,说明偏大了#xff0c;r应该向下逼近 #xff0c;rmid 如果midm,说明…题意给出n个城市n个城市分别的居民m个盒子为了让每个人都投上票问每个盒子应该装多少张票 二分盒子装的票数 如果midm,说明偏大了r应该向下逼近 rmid 如果midm,说明偏小了,l应该向上逼近,lmid1 和上午那个切割木块那个一样----------- 1 #includeiostream 2 #includecstdio 3 #includecstring 4 #include cmath 5 #includestack6 #includevector7 #includemap 8 #includeset9 #includequeue
10 #includealgorithm
11 using namespace std;
12
13 typedef long long LL;
14 const int INF (130)-1;
15 const int mod1000000007;
16 const int maxn1000005;
17
18 int a[maxn];
19 int n,m;
20
21 int ok(int x){
22 int ans0;
23 for(int i1;in;i){
24 int tmpa[i]/x;
25 if(a[i]%x) tmp;
26 anstmp;
27 }
28 if(ansm) return 1;
29 return 0;
30 }
31
32 int main(){
33 while(scanf(%d %d,n,m)!EOF){
34 if(n-1m-1) break;
35
36 int maxx-INF;
37 for(int i1;in;i) {
38 scanf(%d,a[i]);
39 maxxmax( a[i] , maxx );
40 }
41
42 int l0,rmaxx,mid;
43 while(lr){
44 mid(lr)/2;
45 if(ok(mid)) rmid;
46 else lmid1;
47 }
48 printf(%d\n,l);
49 }
50 return 0;
51 } View Code 转载于:https://www.cnblogs.com/wuyuewoniu/p/4542673.html