#agc008c. [agc008_c]Tetromino Tiling

[agc008_c]Tetromino Tiling

题目描述

一个 俄罗斯方块 是由四个相邻的方块组成的图形。我们将以下七种俄罗斯方块分别称为 I-、O-、T-、J-、L-、S- 和 Z-俄罗斯方块:

a60bcb8e9e8f22e3af51049eda063392.png

Snuke 拥有许多俄罗斯方块。他拥有的 I-、O-、T-、J-、L-、S- 和 Z-俄罗斯方块的数量分别为 aIa_IaOa_OaTa_TaJa_JaLa_LaSa_SaZa_Z。Snuke 将选择其中的 KK 个俄罗斯方块,将它们组成一个高为两个方块、宽为 2K2K 个方块的矩形。在此过程中,必须遵守以下规则:

  • 在放置每个俄罗斯方块时,可以进行旋转,但不能进行镜像。
  • 矩形中的每个方块都必须被一个俄罗斯方块完全覆盖。
  • 每个俄罗斯方块的任何部分都不能超出矩形范围。

Snuke 希望组成尽可能大的矩形。找出 KK 的最大可能值。

约束条件

  • 0aI,aO,aT,aJ,aL,aS,aZ1090≤a_I,a_O,a_T,a_J,a_L,a_S,a_Z≤10^9
  • aI+aO+aT+aJ+aL+aS+aZ1a_I+a_O+a_T+a_J+a_L+a_S+a_Z≥1

输入

输入以以下格式从标准输入给出:

aIa_I aOa_O aTa_T aJa_J aLa_L aSa_S aZa_Z

输出

输出 KK 的最大可能值。如果无法组成矩形,则输出 0

示例 1

2 1 1 0 0 0 0

输出 1

最大矩形的一个可能形式如下图所示:

45515ed2a1dd5e41c5e4ca1f39323d8e.png

示例 2

0 0 10 0 0 0 0

输出 2

无法组成矩形。