아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Сочи-2014

시간 제한2초메모리 제한512 MB

요약
속도가 주어진 K개 회사를 N개 공사에 배정해 전체 작업을 가장 짧은 시간에 끝내고, 그 일정을 출력한다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 시뮬레이션
정답자
아직 제출이 없습니다

문제

К предстоящей олимпиаде в Сочи требуется возвести N олимпийских объектов. Процесс строительства каждого объекта определяется освоением выделяемых на него денежных средств.

В строительстве объектов готовы участвовать K фирм. Фирмы имеют разные строительные мощности, выраженные в количестве денежных средств, которые фирма может осваивать в единицу времени.

В каждый момент времени фирма может осуществлять работы только на одном объекте. В строительстве одного объекта не могут одновременно участвовать несколько фирм. В любой момент времени любой объект может быть передан для продолжения строительства любой фирме.

Администрация строительства олимпийских объектов заинтересована в скорейшем освоении денежных средств, поэтому хочет составить такой график работ, при следовании которому строительство будет завершено в кратчайшие сроки. В графике будет указано время, в течение которого тот или иной объект будет строиться какой-то фирмой. 

Напишите программу, результаты работы которой позволят администрации построить требуемый график.

입력

Первая строка входного файла содержит целое число N — количество объектов (1 ≤ N ≤ 50). Во второй строке содержатся разделенные пробелами целочисленные значения S1, S2, S3, …, SN объемов денежных средств, выделяемых для строительства каждого из объектов. Числа Si выражены в тысячах рублей, положительные и не превышают 1000.

В третьей строке находится целое число K — количество строительных фирм (1 ≤ K ≤ 50). Четвертая строка содержит разделенные пробелами целочисленные значения мощностей каждой из фирм V1, V2, V3, …, VK в тыс.руб/час. Числа Vj положительные и не превышают 1000.

출력

Первая строка выходного файла содержит действительное число T — время в часах окончания всех работ, считая с начала строительства, выведенное не менее чем с тремя точными знаками после запятой. Далее в каждой строке выходного файла содержатся разделенные пробелами три числа: t, i, j, где действительное число t — время от начала строительства в часах, в которое j-я фирма приступает к строительным работам на i-м объекте.

Значения времен необходимо выводить с максимально возможной точностью.

Строки должны быть отсортированы по неубыванию t.

예제2

  1. 예제 1

    입력
    2
    24 20
    2
    3 2
    
    예상 출력
    8.800
    0 1 1
    0 2 2
    6.4000000 1 2
    6.4000000 2 1
    
  2. 예제 2

    입력
    3
    100 100 100
    4
    5 5 10 10
    
    예상 출력
    12.00000
    0 1 3
    0 2 4
    0 3 1
    4 2 2
    4 3 4
    8 1 1
    8 3 4
    8 2 3