Day2-T2
Describe:贪心,保证至少一条路牛的数量最多
code:
#include<bits/stdc++.h> using namespace std; long long n,m,d,l,s[100010]; long long tot=1,f,i=1,ans; inline long long read(){ long long ret=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9') {if (ch=='-') f=-f;ch=getchar();} while (ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar(); return ret*f; } inline void write(long long x){ if(x<0){putchar('-'),write(-x);return;} if(x/10)write(x/10);putchar(x%10+'0'); } int main(){ freopen("cowcar.in","r",stdin); freopen("cowcar.out","w",stdout); cin>>n>>m>>d>>l; for(int ss=1;ss<=n;ss++)s[ss]=read(); sort(s+1,s+n+1); while(i<=n){ if(s[i]-f*d<l){ //Bye Bye i++;continue; } if(n-i+1<=m){ //Let it in ans+=n-i+1;break; } ans+=m,i+=m,f++; } write(ans); return 0; }