A1803 | 追击123
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
1 2 3 是三个二维生物的代号,它们穿梭在一条直线 $s$ 上,现在你可以选择一个区间$[L,R](1 \leq L \lt R \leq |s|)$,如果在这个区间内 1 2 3 都出现了,则成功追击 1 2 3。
在成功追击的同时,区间长度最小为多少呢?
在成功追击的同时,区间长度最小为多少呢?
输入格式
第一行输入一个 $t$,代表有 $t(1 \leq t \leq 2 \times 10^4)$ 组测试用例
对于每组测试样例,包含一行字符串 $s$ ($1 \le |s| \le 2 \times 10 ^ 5$) 即直线,保证 $s$ 中只会出现 1 2 3
所有测试用例中所有字符的长度总和不会超过 $2 \times 10 ^ 5$
对于每组测试样例,包含一行字符串 $s$ ($1 \le |s| \le 2 \times 10 ^ 5$) 即直线,保证 $s$ 中只会出现 1 2 3
所有测试用例中所有字符的长度总和不会超过 $2 \times 10 ^ 5$
输出格式
对于每组测试用例,输出追击成功的最小区间长度,如果追击失败则输出 $0$。
输入输出样例
输入 #1
7 123 12222133333332 112233 332211 12121212 333333 31121
输出 #1
3 3 4 4 0 0 4
在第一个测试用例中,可以选择 $[1,3]$ 区间,1 2 3 都出现了,追击成功,区间长度为 $3$
在第二个测试用例中,可以选择 $[5,7]$ 区间,区间长度为 $3$
在第三个测试用例中,可以选择 $[2,5]$ 区间,长度为 $4$
在第四个测试用例中,可以选择 $[2,5]$ 区间,长度为 $4$
在第五个,第六个测试用例中,无法追击成功。
在第七个测试用例中,可以选择 $[1,4]$ 区间,长度为 $4$
在第二个测试用例中,可以选择 $[5,7]$ 区间,区间长度为 $3$
在第三个测试用例中,可以选择 $[2,5]$ 区间,长度为 $4$
在第四个测试用例中,可以选择 $[2,5]$ 区间,长度为 $4$
在第五个,第六个测试用例中,无法追击成功。
在第七个测试用例中,可以选择 $[1,4]$ 区间,长度为 $4$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?