A11455 | Downloading B++
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Only $T$ milliseconds left before the start of well-known online programming contest Codehorses Round 2017.
Polycarp needs to download B++ compiler to take part in the contest. The size of the file is $f$ bytes.
Polycarp's internet tariff allows to download data at the rate of one byte per $t_{0}$ milliseconds. This tariff is already prepaid, and its use does not incur any expense for Polycarp. In addition, the Internet service provider offers two additional packages:
- download $a_{1}$ bytes at the rate of one byte per $t_{1}$ milliseconds, paying $p_{1}$ burles for the package;
- download $a_{2}$ bytes at the rate of one byte per $t_{2}$ milliseconds, paying $p_{2}$ burles for the package.
Polycarp can buy any package many times. When buying a package, its price ( $p_{1}$ or $p_{2}$ ) is prepaid before usage. Once a package is bought it replaces the regular tariff until package data limit is completely used. After a package is consumed Polycarp can immediately buy a new package or switch to the regular tariff without loosing any time. While a package is in use Polycarp can't buy another package or switch back to the regular internet tariff.
Find the minimum amount of money Polycarp has to spend to download an $f$ bytes file no more than in $T$ milliseconds.
Note that because of technical reasons Polycarp can download only integer number of bytes using regular tariff and both packages. I.e. in each of three downloading modes the number of downloaded bytes will be integer. It means that Polycarp can't download a byte partially using the regular tariff or/and both packages.
Polycarp needs to download B++ compiler to take part in the contest. The size of the file is $f$ bytes.
Polycarp's internet tariff allows to download data at the rate of one byte per $t_{0}$ milliseconds. This tariff is already prepaid, and its use does not incur any expense for Polycarp. In addition, the Internet service provider offers two additional packages:
- download $a_{1}$ bytes at the rate of one byte per $t_{1}$ milliseconds, paying $p_{1}$ burles for the package;
- download $a_{2}$ bytes at the rate of one byte per $t_{2}$ milliseconds, paying $p_{2}$ burles for the package.
Polycarp can buy any package many times. When buying a package, its price ( $p_{1}$ or $p_{2}$ ) is prepaid before usage. Once a package is bought it replaces the regular tariff until package data limit is completely used. After a package is consumed Polycarp can immediately buy a new package or switch to the regular tariff without loosing any time. While a package is in use Polycarp can't buy another package or switch back to the regular internet tariff.
Find the minimum amount of money Polycarp has to spend to download an $f$ bytes file no more than in $T$ milliseconds.
Note that because of technical reasons Polycarp can download only integer number of bytes using regular tariff and both packages. I.e. in each of three downloading modes the number of downloaded bytes will be integer. It means that Polycarp can't download a byte partially using the regular tariff or/and both packages.
输入格式
The first line contains three integer numbers $f$ , $T$ and $t_{0}$ ( $1<=f,T,t_{0}<=10^{7}$ ) — size of the file to download (in bytes), maximal time to download the file (in milliseconds) and number of milliseconds to download one byte using the regular internet tariff.
The second line contains a description of the first additional package. The line contains three integer numbers $a_{1}$ , $t_{1}$ and $p_{1}$ ( $1<=a_{1},t_{1},p_{1}<=10^{7}$ ), where $a_{1}$ is maximal sizes of downloaded data (in bytes), $t_{1}$ is time to download one byte (in milliseconds), $p_{1}$ is price of the package (in burles).
The third line contains a description of the second additional package. The line contains three integer numbers $a_{2}$ , $t_{2}$ and $p_{2}$ ( $1<=a_{2},t_{2},p_{2}<=10^{7}$ ), where $a_{2}$ is maximal sizes of downloaded data (in bytes), $t_{2}$ is time to download one byte (in milliseconds), $p_{2}$ is price of the package (in burles).
Polycarp can buy any package many times. Once package is bought it replaces the regular tariff until package data limit is completely used. While a package is in use Polycarp can't buy another package or switch back to the regular internet tariff.
The second line contains a description of the first additional package. The line contains three integer numbers $a_{1}$ , $t_{1}$ and $p_{1}$ ( $1<=a_{1},t_{1},p_{1}<=10^{7}$ ), where $a_{1}$ is maximal sizes of downloaded data (in bytes), $t_{1}$ is time to download one byte (in milliseconds), $p_{1}$ is price of the package (in burles).
The third line contains a description of the second additional package. The line contains three integer numbers $a_{2}$ , $t_{2}$ and $p_{2}$ ( $1<=a_{2},t_{2},p_{2}<=10^{7}$ ), where $a_{2}$ is maximal sizes of downloaded data (in bytes), $t_{2}$ is time to download one byte (in milliseconds), $p_{2}$ is price of the package (in burles).
Polycarp can buy any package many times. Once package is bought it replaces the regular tariff until package data limit is completely used. While a package is in use Polycarp can't buy another package or switch back to the regular internet tariff.
输出格式
Print the minimum amount of money that Polycarp needs to pay to download B++ compiler no more than in $T$ milliseconds. If there is no solution, print the only integer -1.
输入输出样例
输入 #1
120 964 20 26 8 8 13 10 4
输出 #1
40
输入 #2
10 200 20 1 1 1 2 2 3
输出 #2
0
输入 #3
8 81 11 4 10 16 3 10 12
输出 #3
28
输入 #4
8 79 11 4 10 16 3 10 12
输出 #4
-1
In the first example Polycarp has to buy the first additional package 5 times and do not buy the second additional package. He downloads 120 bytes (of total $26·5=130$ bytes) in $120·8=960$ milliseconds ( $960<=964$ ). He spends $8·5=40$ burles on it.
In the second example Polycarp has enough time to download $10$ bytes. It takes $10·20=200$ milliseconds which equals to upper constraint on download time.
In the third example Polycarp has to buy one first additional package and one second additional package.
In the fourth example Polycarp has no way to download the file on time.
In the second example Polycarp has enough time to download $10$ bytes. It takes $10·20=200$ milliseconds which equals to upper constraint on download time.
In the third example Polycarp has to buy one first additional package and one second additional package.
In the fourth example Polycarp has no way to download the file on time.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted