(IO File): вход: cowcar.in выход: cowcar.out
Ограничение по времени: 1000 мс пространственных ограничений: 262144 KB конкретные ограничения
Гото ПарсерКонтест
Название Описание
там на шоссе
коров, пронумерованные
, каждая корова вождения их автомобиль, скорость коровы в I
, сказатьв общейна дороге
полосы
. В целях безопасности, каждаяголов крупного рогатого скота являются следующие принципы: там перед той же полосе
скорость крупного рогатого скот, крупный рогатый скот уменьшит
, конечно, не падает
или менее, скорость транспортного средства должна быть
. Как автомобиль от партии, такдаже быстреечем автомобиль позади автомобиля впереди, вы не должны беспокоиться о столкновении произойдет.
Существует ограничение минимальной скорости на шоссе
, все нижечем скорость транспортных средств не допускается на высокой скорости, теперь вы можете быть рассчитаны в общей сложностикак много автомобилейна шоссе.
Введите
первые
строка:
пространства целых чиселразделенных
;
из
: Линия
линия описана в-й первой скорости коровы.
Выходная
строка: целое число , выход максимальное количество вола тележек , движущихся с высокой скоростью.
Ввод пробы
. 3. 1. 5. 1
. 5
. 7
. 5
Пример вывода
2
Ограничение диапазона данных
Проблемные идеи
Этот вопрос является очевидным аналогом перечисление насилия.
Мы знаем , что из названия, на шоссе, скорость скота после того, как больше, тем больше затухание, то есть сказать, скорость небольшой на фронте, и на большой скорости назад выгодно, поэтому, быть первый заказ.
Перечень автомобили и трек, если этот трек может отпустить этот автомобиль, он будет отслеживать и скачки указателя
. Если нет,он заменяется на автомобиле. Потому что даже если трек не подходит, то текущее количество гоночного трека также за этой гоночной трассе, это один не подходит трек,затем обратноконечноне подходит (чтобы понятьчто, на самом деле, попробуйте сделать машину надвое Спидвей). Следующий выход
может.
код
#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);
}