U137933.pangz 老湿的体重管理

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

pangz 老湿又站上了那台神奇的体重秤。体重秤只显示一个 00M1M-1 之间的整数,当前显示为 SS

为了让体重秤显示目标数字 TT,pangz 老湿可以反复选择以下三种方案。若操作前显示的数字为 xx,操作后的数字和本次消耗的体力分别为:

  • 加餐:数字变为 (x+A)modM(x+A)\bmod M,消耗 WAW_A 点体力;
  • 锻炼:数字变为 (xB)modM(x-B)\bmod M,消耗 WBW_B 点体力;
  • 神奇加倍:数字变为 (x×C)modM(x\times C)\bmod M,消耗 WCW_C 点体力。

其中,取模后的结果总是表示为 00M1M-1 之间的整数。例如,(1)mod5(-1)\bmod 5 在本题中表示 44。三种方案均可使用任意多次。

请你求出让体重秤从 SS 变为 TT 所需的最少体力;如果无法到达 TT,输出 1-1

输入格式

第一行输入三个整数 M,S,TM,S,T2M3×1052\le M\le 3\times 10^50S,T<M0\le S,T<M),分别表示模数、起始数字和目标数字。

第二行输入三个整数 A,B,CA,B,C0A,B,C<M0\le A,B,C<M),分别表示三种操作的参数。

第三行输入三个整数 WA,WB,WCW_A,W_B,W_C1WA,WB,WC1091\le W_A,W_B,W_C\le 10^9),分别表示三种操作消耗的体力。

输出格式

输出一个整数,表示从 SS 到达 TT 所需的最少体力;如果无法到达,输出 1-1

输入输出样例

  • 输入#1

    10 1 8
    3 2 2
    2 7 3

    输出#1

    5
  • 输入#2

    10 1 4
    1 1 4
    1 1 100

    输出#2

    3
  • 输入#3

    8 1 2
    0 0 3
    5 7 11

    输出#3

    -1

说明/提示

提示

样例 11 中,可以先选择一次加餐,使数字从 11 变为 44,再选择一次神奇加倍,使数字从 44 变为 88,总共消耗 2+3=52+3=5 点体力。

样例 22 中,虽然一次神奇加倍就能到达目标,但连续三次加餐消耗的体力更少。

答案可能超过 3232 位有符号整数的表示范围。

问别人

0/1

输入解题思路,AI测评打分。不知道怎么写?

首页