(File IO): Entrada: cowcar.in de salida: cowcar.out
límite de tiempo: 1000 ms limitaciones de espacio: 262144 KB restricciones específicas
Goto Boletín de problemas
Título Descripción
existe en la carretera
vacas, numeradas
, cada vaca está conduciendo su coche, la velocidad de la vaca en el i
, informe a un total en el camino
carriles
. Por razones de seguridad, cada cabeza de ganado son los principios siguientes: allí, delante del mismo carril
velocidad ganado vacuno, ganado reducirán
, por supuesto, no cae
o menos, la velocidad del vehículo debe ser
. A medida que el coche del montón, por lo que incluso más rápido que el coche detrás del coche de delante, usted no tiene que preocuparse de que ocurrirá una colisión.
Hay un límite de velocidad mínima en la carretera
, todo menor que la velocidad de los vehículos no se permiten en alta velocidad, ahora puede ser calculado un total de cuántos coches de conducción en la carretera.
Introduzca la
primera
línea:
espacios separados enteros
;
de
: Línea
línea describe en el i-ésimo primera vaca velocidad.
Salida de
línea: número entero de salida un número máximo de los carros de buey que viajan a alta velocidad.
entrada de la muestra
. 3. 1. 5. 1
. 5
. 7
. 5
Salida de muestra
2
límite de rango de datos
Ideas de resolución de problemas
Esta pregunta es una violencia enumeración analógico obvia.
Sabemos por el título, en la carretera, la velocidad de ganado después de más por la mayor atenuación, es decir, la velocidad de la pequeña en la parte delantera y en la parte posterior grande de velocidad es ventajoso, por tanto, la primera orden.
coche enumeración y la pista, si esta pista puede dejar ir de este coche, que hará un seguimiento y las carreras de puntero
. Si no es así, es reemplazado por un coche. Porque aunque la pista no se ajusta, a continuación, el número actual de carreras de coches también está detrás con esta pista de carreras, éste no se ajusta a la pista, luego de vuelta desde luego no adaptado (para entender lo que, de hecho, trata de hacer que el coche atravesada Speedway). A continuación salida
lata.
código
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int n,m,d,l,k,ans,a[50010],b[50010];
string s;
int main(){
freopen("cowcar.in","r",stdin);
freopen("cowcar.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&d,&l);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1);
int i=1,j=1;
while(1)
{
k=a[i]-b[j]*d;
if(k>=l)
{
ans++;
b[j]++;
j++;
i++;
if(j>m)
j=1;
if(i>n)
break;
}
else
{
i++;
if(i>n)
break;
}
}
printf("%d",ans);
}