CSU 1684-Disastrous Downtime

本文通过贪心算法解决了一个计算在特定时间内所需的最多服务器数量的问题。通过对请求按时间排序并划分时间窗口,统计每个时间窗口内的请求量来确定所需服务器的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:https://nanti.jisuanke.com/t/28879

思路:贪心,从最早收到请求的时刻开始,统计每个相差1000毫秒的时间段内接收的请求数量再计算该时间段内所需机器数目,答案就是所有时间段中最大的机器数目

 1 #include<iostream>
 2 #define inf 0x3f3f3f3f
 3 using namespace std;
 4 int a[101000];
 5 int main()
 6 {
 7     int n,k,maxx=0,minn=inf;
 8     cin>>n>>k;
 9     for(int i=0;i<101005;i++)
10     a[i]=0;
11     for(int i=0;i<n;i++)
12     {
13         int t;
14         cin>>t;
15         maxx=max(t,maxx);
16         minn=min(t,minn);
17         a[t]++;
18     }
19     int ans=0,cnt,num;
20     for(int i=minn;i<=maxx;i+=1000)
21     {
22         cnt=0,num=0;
23         for(int j=0;j<1000;j++)
24         if(a[i+j])
25         num+=a[i+j];
26         if(num<=k)cnt=1;
27         else
28         {
29             cnt=num/k;
30             if(num%k)cnt++;
31         }
32         ans=max(ans,cnt);
33     }
34     cout<<ans<<endl;
35     return 0;
36 }

 

转载于:https://www.cnblogs.com/chen99/p/9381131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值