#HK5154. 「ROIR 2017 Day 1」计算器

「ROIR 2017 Day 1」计算器

题目描述

译自 ROIR 2017 Day1 T2. Калькулятор

作为信息学的家庭作业,学生们被要求开发一个特殊的计算器,其工作原理如下。

首先,用户输入一个正整数 nn,该数字会显示在屏幕上。然后,用户可以按下三个按钮:A、B 和 C。

  • 按下按钮 A 时,屏幕上的数字除以 22。如果屏幕上的数字是奇数,则舍弃余数。例如,对数字 80 的结果是 4040,对数字 239239 的结果是 119119
  • 按下按钮 B 时,屏幕上的数字加 11,然后除以 22,舍弃余数。例如,对数字 8080 的结果是 4040,对数字 239239 的结果是 120120
  • 按下按钮 C 时,如果屏幕上的数字是正数,则减去 11 后除以 22,舍弃余数。如果屏幕上的数字是 00,则保持不变。例如,对数字 8080 的结果是 3939,对数字 239239 的结果是 119119

用户输入了数字 nn,并计划按某种顺序按下操作按钮。具体而言,他计划按下按钮 A 总共 aa 次,按钮 B 总共 bb 次,按钮 C 总共 cc 次。他想知道通过执行这些操作可以得到的最小数字是多少。

你的任务是编写一个程序,根据输入的数字 nn 以及表示不同类型操作次数的 a,b,ca, b, c,确定通过计算器操作可以得到的最小数字。

输入格式

输入文件包含四个整数 n,a,b,cn, a, b, c (1n1018,0a,b,c60)(1 \leq n \leq 10^{18}, 0 \leq a, b, c \leq 60)。这些数字在同一行上,相邻数字之间用一个空格分隔。

输出格式

输出一个数字,表示用户通过计算器操作可以得到的最小数字。

72 2 1 1

4

在样例中,用户应该按以下方式操作以获得最小值:先按按钮 B,得到数字 3636;再按按钮 A,得到数字 1818;然后按按钮 C,得到数字 88;最后再次按按钮 A,得到数字 44

数据范围与提示

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

子任务 分值 nn 的限制 a,b,ca, b, c 的额外限制 子任务依赖
11 2626 1n1091 \leq n \leq 10^{9} 0(a+b+c)70 \leq (a + b + c) \leq 7
22 2323 1n10181 \leq n \leq 10^{18} c=0c = 0
33 2424 b=0b = 0
44 2727 1,2,31, 2, 3