시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB | 11 | 5 | 5 | 71.429% |
GoncaSoft is an internet company that runs many services and has n data centers worldwide. Each data center has a number of available machines. For security and redundancy reasons, one or more copies of each service are running at the same time. Each copy runs in a separate data center, and requires a number of machines to run on. All the copies of a given service require the same number of machines.
When GoncaSoft plans to launch a new service i that requires ci copies, each running on mi machines, it sorts the data centers in descending order by their current available machines, and then uses mi machines in each of the top ci data centers.
Please calculate the remaining available machines in the data centers after launching s services in a given order.
The first line of the input contains two space-separated integers n and s, representing the number of data centers GoncaSoft has and the number of new services GoncaSoft wants to launch.
The next line contains n space-separated integers, representing the number of available machines in each of the n data centers, before any services are launched.
The next s lines describe the services that will be launched: the ith line contains two space-separated integers mi and ci, representing the number of machines and the number of copies the ith service requires.
Output one line containing n space-separated integers sorted in descending order, representing the number of remaining available machines in the data centers after all services have launched.
번호 | 배점 | 제한 |
---|---|---|
1 | 12 | n ≤ 100, s = 0. |
2 | 12 | n ≤ 100, s ≤ 10. |
3 | 9 | n ≤ 50 000, s ≤ 100. |
4 | 26 | Each data center has initially at most 1 000 machines. |
5 | 18 | ci = 1 for all services from 1 to s. |
6 | 23 | No further constraints. |
5 4 20 12 10 15 18 3 4 4 1 1 3 4 2
11 10 10 9 8
Step | Available Machines | Operations |
---|---|---|
Beginning | 20 12 10 15 18 | |
Service #1: before launching | 20 18 15 12 10 | Sort the data centers in descending order. |
Service #1: after launching | 17 15 12 9 10 | Use 3 machines in each of the top 4 data centers. |
Service #2: before launching | 17 15 12 10 9 | Sort the data centers in descending order. |
Service #2: after launching | 13 15 12 10 9 | Use 4 machines in the top data center. |
Service #3: before launching | 15 13 12 10 9 | Sort the data centers in descending order. |
Service #3: after launching | 14 12 11 10 9 | Use 1 machine in each of the top 3 data centers. |
Service #4: before launching | 14 12 11 10 9 | Sort the data centers in descending order. |
Service #4: after launching | 10 8 11 10 9 | Use 4 machines in each of the top 2 data centers. |
End | 11 10 10 9 8 | Sort the data centers in descending order. |