(Цзичжун) 2404. Повозка (cowcar) [насилие]

(IO File): вход: cowcar.in выход: cowcar.out
Ограничение по времени: 1000 мс пространственных ограничений: 262144 KB конкретные ограничения
Гото ПарсерКонтест


Название Описание
там на шоссе N ( 1 < знак равно N < знак равно 50 , 000 ) N (1 <= N <= 50000) коров, пронумерованные 1 .. N 1..N , каждая корова вождения их автомобиль, скорость коровы в I S я ( 1 < знак равно S я < знак равно 1 , 000 , 000 ) К м / час S_i (1 <= S_i <= 1 миллион) км / ч , сказатьв общейна дороге M M полосы ( 1 < знак равно M < знак равно N ) (1 <= М <= N), . В целях безопасности, каждаяголов крупного рогатого скота являются следующие принципы: там перед той же полосе Икс Икс скорость крупного рогатого скот, крупный рогатый скот уменьшит D * Икс ( 0 < знак равно D < знак равно 5 , 000 ) К M / час D * Х (0 <= D <= 5000) км / ч , конечно, не падает 0 0 или менее, скорость транспортного средства должна быть м a x ( S i D X , 0 ) макс (S_i-Д * Х, 0) . Как автомобиль от партии, такдаже быстреечем автомобиль позади автомобиля впереди, вы не должны беспокоиться о столкновении произойдет.
Существует ограничение минимальной скорости на шоссе L ( 1 < = L < = 1 , 000 , 000 ) L (1 <= L <= 1 миллион) , все нижечем скорость транспортных средств не допускается на высокой скорости, теперь вы можете быть рассчитаны в общей сложностикак много автомобилейна шоссе.


Введите
первые 1 1 строка: 4 4 пространства целых чиселразделенных N , M , D , L N, M, D, L ;
из 2.. N + 1 2..N + 1 : Линия i + 1 я + 1 линия описана в-й первой скорости коровы.


Выходная
строка: целое число , выход максимальное количество вола тележек , движущихся с высокой скоростью.


Ввод пробы
. 3. 1. 5. 1
. 5
. 7
. 5

Пример вывода
2


Ограничение диапазона данных


Проблемные идеи
Этот вопрос является очевидным аналогом перечисление насилия.
Мы знаем , что из названия, на шоссе, скорость скота после того, как больше, тем больше затухание, то есть сказать, скорость небольшой на фронте, и на большой скорости назад выгодно, поэтому, быть первый заказ.
Перечень автомобили и трек, если этот трек может отпустить этот автомобиль, он будет отслеживать и скачки указателя + 1 +1 . Если нет,он заменяется на автомобиле. Потому что даже если трек не подходит, то текущее количество гоночного трека также за этой гоночной трассе, это один не подходит трек,затем обратноконечноне подходит (чтобы понятьчто, на самом деле, попробуйте сделать машину надвое Спидвей). Следующий выход a n s лет может.


код

#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);
}
Опубликовано 119 оригинальных статей · вона похвала 8 · просмотров 4915

рекомендация

отblog.csdn.net/kejin2019/article/details/104860509
рекомендация