Você vai fazer uma longa viagem de carro, mas precisa gravar umas fitas para escutar no caminho. (Sim, o carro que você vai dirigir não possui cd player) Para gravar a fita, você deve escolher dentre as faixas da sua playlist favorita.
Você deve selecionar um conjunto de músicas que couberem na fita, deixando o mínimo de espaço restante possível, de acordo com as seguintes especificações:
Cada fita aceita no máximo N minutos de gravação.
Cada playlist possui no máximo 20 músicas.
Nenhuma faixa é maior que 1000 minutos.
Nenhuma faixa pode ser gravada mais de uma vez.
Cada faixa tem prioridade de acordo com sua ordem na playlist. Ou seja, as músicas que aparecem primeiro têm prioridade sobre as últimas.
O seu programa deve selecionar o conjunto de faixas que preenche melhor a fita, observando a ordem de preferência, e imprimir na mesma ordem em que são apresentadas na playlist.
Há múltiplos casos de teste. Cada linha da entrada contém o valor N (a duração máxima de gravação da fita), o número de faixas e as durações de cada uma.
Por exemplo, na primeira linha: N = 5, número de faixas = 3, primeira faixa dura 1 minuto, a segunda 3 minutos e a última 4 minutos.
Imprima o conjunto de músicas e suas durações e a string ’sum:’ seguida do espaço utilizado da fita.
Input
5 3 1 3 4 10 4 9 8 4 2 20 4 10 5 7 4 50 8 5 10 45 40 12 30 8 2 90 8 10 23 1 2 3 4 5 7 3 2 1 1
Output
1 4 sum:5 8 2 sum:10 10 5 4 sum:19 5 45 sum:50 10 23 1 2 3 4 5 7 sum:55 1 1 sum:2