#L5022. 「POI 2022/2023 R2」Wagony

    ID: 4561 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划记忆化搜索状态设计优化递归

「POI 2022/2023 R2」Wagony

题目描述

题目译自 XXX Olimpiada Informatyczna – II etap Wagony

在一维铁轨上停放着 nn 个车厢,初始时各车厢互不连接。每次操作可将相邻的两组已连接车厢合并,前提是两组车厢数量差不超过 dd。合并耗时取决于两组车厢数量。你的任务是将所有车厢合并成一个含 nn 个车厢的列车。

合并含 ww 个车厢的组与含 vv 个车厢的组(满足 wvd|w-v| \leq d)的成本由奇特函数 (aw+bv)mod1001(a w + b v) \bmod 1001 计算。


输入格式

第一行包含四个正整数 nn, dd, aa, bb (1n1016(1 \leq n \leq 10^{16}, 1d,a,b1000)1 \leq d, a, b \leq 1000),分别表示车厢总数、数量差上限和成本函数参数。


输出格式

输出一个整数,表示将 nn 个车厢合并成一个列车的最小成本。


样例

输入

5 1 1 1

输出

12

解释

我们将第一个车厢与第二个车厢连接(成本 22),第三个车厢与第四个车厢连接(成本 22),然后再与第五个车厢连接(成本 33),最后将两个形成的车厢组连接(成本 55)。


附加样例

  • n=10n=10, d=3d=3, a=2a=2, b=3b=3
  • n=105n=10^5, d=1000d=1000, a=3a=3, b=5b=5
  • n=1016n=10^{16}, d=300d=300, a=3a=3, b=5b=5

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
1 n100000n \leq 100000 21
2 d300d \leq 300 46
3 无附加限制 33