 VAN | Описание Дан большой набор пакетов, которые должны быть доставлены в течение определенного лимита времени, если это возможно. Доступно два транспортных средства для осуществления доставок: маленький фургон и большой грузовик. Каждый пакет может быть маленьким или большим. Маленькие пакеты могут быть доставлены как в фургоне, так и в грузовике, а большие пакеты должны доставляться только в грузовике. Для каждого пакета известно время, необходимое на его доставку. Каждое транспортное средство не может одновременно везти больше одного пакета. Задано общее ограничение по времени, в течение которого должно быть доставлено как можно больше пакетов. Доставка происходит таким образом. Некоторое число маленьких пакетов будет доставлено фургоном, и общее время их доставки не превысит заданного общего ограничения. Некоторое количество маленьких и больших пакетов будет доставлено грузовиком, и общее время их доставки не превысит заданного общего ограничения. Задание Напишите программу VAN, которая определит наибольшее число пакетов, которые могут быть доставлены таким образом. Входные данные Первая строка входного файла VAN.DAT содержит целое число T (1<=T<=1000) - общее ограничение по времени. Вторая строка файла содержит целое число N (1<=N<=500) - количество маленьких пакетов. Строки с номерами от 3 до N+2 содержат целые числа от 1 до 1000 включительно. Это времена доставки маленьких пакетов, заданные в возрастающем порядке. Строка входного файла с номером N+3 содержит целое число M (1<=M<=500) - число больших пакетов. Строки с номерами от N+4 до N+M+3 содержат целые числа от 1 до 1000 включительно. Это времена доставки больших пакетов, также заданные в возрастающем порядке. Выходные данные Единственная строка выходного файла VAN.SOL должна содержать единственное число - наибольшее количество пакетов, которые могут быть доставлены за время T. Пример входных и выходных данных VAN.DAT 10 8 2 2 2 2 2 4 4 4 4 3 3 6 6 VAN.SOL 8
|
|---|