首页 > 其他 > 详细

Kattis downtime

时间:2017-07-23 20:32:57      阅读:196      评论:0      收藏:0      [点我收藏+]

链接:https://open.kattis.com/problems/downtime

题意:n个要解决的进程,每个服务器可以解决k个进程,每个进程花费1000MS,给出n个进程的开始时间,问最少要几个服务器

思路:我们可以求出每个进程的区间,然后看我们可以不重叠的解决多少个进程

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 struct node{
 5     int x;
 6     int y;
 7 }a[200005];
 8 bool cmp(node p,node q){
 9     if(p.x==q.x) return p.y<q.y;
10     return p.x<q.x;
11 }
12 int main(){
13     int n,k;
14     scanf("%d%d",&n,&k);
15     int x,l=0;
16     for(int i=1;i<=n;i++){
17         scanf("%d",&x);
18         a[++l].x=x; a[l].y=1;
19         a[++l].x=x+1000;a[l].y=-1;
20     }
21     sort(a+1,a+1+l,cmp);
22     int Max=0,sum=0;;
23     for(int i=1;i<=l;i++){
24       // cout<<a[i].x<<" "<<a[i].y<<endl
25         if(a[i].y==-1) {
26             sum--;
27         }
28         else sum++;
29         Max=max(Max,sum);
30     }
31     if(Max%k!=0) Max=Max/k+1;
32     else Max=Max/k;
33     cout<<Max<<endl;
34     return 0;
35 }

 

Kattis downtime

原文:http://www.cnblogs.com/hhxj/p/7225726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!