n个任务要服务器处理,每个服务器可同时处理k个任务,第i个任务ti时到达,求需要多少服务器。

n个任务要服务器处理,每个服务器可同时处理k个任务,第i个任务ti时到达,求需要多少服务器。

#include <bits/stdc++.h>
using namespace std;
int t[100010];
int main(){
    int n,m;
    while(~scanf("%d %d",&n,&m)){
        multiset<int,greater<int> > s;
        for(int i = 0;i < n;i++)scanf("%d",&t[i]);
        sort(t,t+n);
        s.insert(t[0] + 1000);
        for(int i = 1;i < n;i++){
            auto it = s.lower_bound(t[i]);
            if(it == s.end())s.insert(t[i] + 1000);
            else {s.erase(it);s.insert(t[i] + 1000);}
        }
        int res = ceil((double)s.size() / (double)m);
        printf("%d\n",res);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42756710/article/details/81221888