给出总任务数和单个服务器能同时运行任务的个数,求最少要几个服务器才能完全容纳任务
一个任务持续1000秒
模拟,算出任务峰值/单个服务器能同时运行任务的个数,再向上取整即可
#include <iostream>
#include<math.h>
#include<algorithm>
using namespace std;
int sz[100002];
int main()
{
int n,k;
int ans=0;
int con=0;
float an=0;
int t=0;
scanf("%d %d",&n,&k);
for(int i=0; i<n; i++)
scanf("%d",&sz[i]);
sort(sz,sz+n);
for(int i=0; i<n; i++)
{
/*//用循环就错了。。。
con=1;
for(int j=i+1; j<n; j++)
{
if(sz[j]<sz[i]+1000)
{
con++;
}
else
break;
}*/
t=lower_bound(sz,sz+n,sz[i]+1000)-&sz[i];
// printf("%d\n",t);
//an=ceil(con/(float)k);
an=ceil(t/(float)k);
if(an>ans)
ans=an;
}
printf("%d\n",ans);
}