AT_agc008_c [AGC008C] Tetromino Tiling

题目描述

由 $4$ 个正方形格子连接而成的形状称为“俄罗斯方块”(Tetromino)。我们将下图中的 $7$ 种俄罗斯方块依次称为 I、O、T、J、L、S、Z 型。 ![a60bcb8e9e8f22e3af51049eda063392.png](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_agc008_c/41da26817a0aa4921d5f3228c5ba880f4ed240c0.png) すぬけ君分别拥有 $a_I$ 个 I 型、$a_O$ 个 O 型、$a_T$ 个 T 型、$a_J$ 个 J 型、$a_L$ 个 L 型、$a_S$ 个 S 型、$a_Z$ 个 Z 型俄罗斯方块。他想从这些俄罗斯方块中选出 $K$ 个,拼成一个高 $2$ 行、宽 $2K$ 列的矩形。拼放时需要遵守以下规则: - 每个俄罗斯方块可以旋转,但不能翻转。 - 矩形的每个格子恰好被一个俄罗斯方块覆盖。 - 不能有俄罗斯方块放在矩形外部。 すぬけ君想要拼出尽可能大的矩形。请你求出 $K$ 的最大值。

输入格式

输入一行,包含 $a_I$、$a_O$、$a_T$、$a_J$、$a_L$、$a_S$、$a_Z$ 七个整数。

输出格式

输出 $K$ 的最大值。如果无法拼出矩形,则输出 $0$。

说明/提示

## 限制 - $0 \leq a_I, a_O, a_T, a_J, a_L, a_S, a_Z \leq 10^9$ - $a_I + a_O + a_T + a_J + a_L + a_S + a_Z \geq 1$ ## 样例解释 1 例如,可以如图所示进行拼放。 ![45515ed2a1dd5e41c5e4ca1f39323d8e.png](https://atcoder.jp/img/agc008/45515ed2a1dd5e41c5e4ca1f39323d8e.png) ## 样例解释 2 无法拼出矩形。 由 ChatGPT 4.1 翻译