AT_arc190_a.[ARC190A] Inside or Outside
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个整数序列 x=(x1,…,xN),初始时 x1=⋯=xN=0。
你需要对这个整数序列进行 M 次操作。第 i 次操作会给出一组整数 (Li,Ri),满足 1≤Li≤Ri≤N,你需要从以下 3 种操作中恰好选择一种进行:
- 操作 0:什么都不做。该操作的代价为 0。
- 操作 1:对于所有满足 1≤j≤N 的整数 j,如果 Li≤j≤Ri,则令 xj=1。该操作的代价为 1。
- 操作 2:对于所有满足 1≤j≤N 的整数 j,如果 Li≤j≤Ri 不成立,则令 xj=1。该操作的代价为 1。
你的目标是使得最终 x1=⋯=xN=1 成立。请判断该目标是否可以达成。如果可以达成,请在所有可行方案中,输出总代价最小的一种。
输入格式
输入按以下格式从标准输入读入:
N M
L1 R1
⋮
LM RM
输出格式
如果目标无法达成,输出 -1。
如果目标可以达成,则输出总代价的最小值 K,以及每次操作选择的操作类型(0 或 1 或 2),格式如下:
K op1 ⋯ opM
如果有多种总代价最小的方案,输出任意一种均可。
输入输出样例
输入#1
5 4 2 4 3 5 1 4 2 5
输出#1
2 2 0 1 0
输入#2
5 4 1 3 1 5 2 4 3 5
输出#2
1 0 1 0 0
输入#3
5 2 1 3 2 5
输出#3
2 1 1
输入#4
5 2 1 3 2 4
输出#4
-1
说明/提示
限制
- 1≤N≤1000000
- 1≤M≤200000
- 1≤Li≤Ri≤N
- 所有输入的值均为整数
样例解释 1
输出样例中 x 的变化如下:
- 初始时 x=(0,0,0,0,0)。
- 第 1 次操作选择操作 2,x1,x5 变为 1,x=(1,0,0,0,1)。
- 第 2 次操作选择操作 0,x=(1,0,0,0,1)。
- 第 3 次操作选择操作 1,x1,x2,x3,x4 变为 1,x=(1,1,1,1,1)。
- 第 4 次操作选择操作 0,x=(1,1,1,1,1)。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?