bzoj1623 / P2909 [USACO08OPEN]牛的车Cow Cars

P2909 [USACO08OPEN]牛的车Cow Cars

显然的贪心。

按速度从小到大排序。然后找车最少的车道,查询是否能填充进去。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #define re register
 6 using namespace std;
 7 int n,m,D,l,ans,a[50002],d[50002];
 8 int main(){
 9     scanf("%d%d%d%d",&n,&m,&D,&l);
10     for(re int i=1;i<=n;++i) scanf("%d",a+i);
11     sort(a+1,a+n+1);
12     for(re int i=1,p=0;i<=n;++i)
13         if(a[i]-D*d[p]>=l) ++d[p],++ans,p=(p+1)%m;//填充进去,下一个车道
14     printf("%d",ans);
15     return 0;
16 }
View Code

 

posted @ 2018-10-27 17:31  kafuuchino  阅读(183)  评论(0编辑  收藏  举报