[NICA #3] 搬砖

Luogu
IDLGB3896
Time1000ms
Memory512MB
DifficultyP2
数学O2优化分支结构
Aya 在工地上搬砖。她手上有 $n$ 块砖头,需要将其平分为两份运达不同的终点。注意,砖头不能切割成半块。 Aya 可以选择一块一块的搬砖,此时搬一块砖需要 $a$ 的体力。Aya 也可以选择将砖头搬上一个可以容纳 $k$ 块砖头的推车(车可以不装满),再推动推车到达终点,这整个过程需要 $b$ 的体力。Aya 可以自由选择搬砖的方式。例如说她可以一块一块地搬一些砖之后再用推车进行搬砖。 Aya 想要知道,在这个过程中,耗费体力的最小值是多少? ## Input 输入 $4$ 个正整数 $n,a,k,b$,含义如题所述。 ## Output 输出一行一个整数,表示耗费体力的最小值是多少。如果无法将这些砖头平分成两份,则输出 $-1$。 [samples] ## Note **【样例解释】** 对于样例 $1$,将砖平分为两份,则每份一共有 $6$ 块砖。用小推车一次可以搬 $2$ 块砖,只耗费 $2$ 的体力,比一块一块搬砖划算。因此 Aya 选择用三次小推车搬砖,耗费 $6$ 的体力。注意一共有两份砖头,因此一共是耗费 $12$ 的体力。 **【数据范围】** 对于所有数据,$1 \leq n,a,k,b \leq 10^6$。**请注意数据范围**。
Samples
Input #1
12 3 2 2
Output #1
12
Input #2
15 3 2 2
Output #2
-1
API Response (JSON)
{
  "problem": {
    "name": "[NICA #3] 搬砖",
    "description": {
      "content": "Aya 在工地上搬砖。她手上有 $n$ 块砖头,需要将其平分为两份运达不同的终点。注意,砖头不能切割成半块。 Aya 可以选择一块一块的搬砖,此时搬一块砖需要 $a$ 的体力。Aya 也可以选择将砖头搬上一个可以容纳 $k$ 块砖头的推车(车可以不装满),再推动推车到达终点,这整个过程需要 $b$ 的体力。Aya 可以自由选择搬砖的方式。例如说她可以一块一块地搬一些砖之后再用推车进行搬砖。 A",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3896"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Aya 在工地上搬砖。她手上有 $n$ 块砖头,需要将其平分为两份运达不同的终点。注意,砖头不能切割成半块。\n\nAya 可以选择一块一块的搬砖,此时搬一块砖需要 $a$ 的体力。Aya 也可以选择将砖头搬上一个可以容纳 $k$ 块砖头的推车(车可以不装满),再推动推车到达终点,这整个过程需要 $b$ 的体力。Aya 可以自由选择搬砖的方式。例如说她可以一块一块地搬一些砖之后再用推车进行搬砖。\n\nA...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments