#P11764. 「KFCOI Round #1」生成序列

    ID: 12986 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>洛谷原创Special JudgeO2优化构造洛谷比赛

「KFCOI Round #1」生成序列

背景

题目描述

你需要生成一个长度为 nn 的非负整数序列 aa。

aa 满足 mm 条限制,第 ii 条限制形如:

  • 若将 axia_{x_i} 修改为 yiy_i,则序列中恰好有 kik_i 个区间满足修改前后,其区间和的变化量不超过 pip_i。

各个限制间独立,即修改操作没有真的执行。

为了防止序列中的数过大,如果存在 ai>2×109a_i>2\times 10^9,则认为序列 aa 不满足限制。

若有多个满足条件的序列,输出任意一个即可。若无解,输出 -1。

输入格式

本题输入均为正整数。

第一行一个数 TT。

对于每组数据:

第一行两个数 n,mn,m。

接下来 mm 行,每行四个数 xi,yi,ki,pix_i,y_i,k_i,p_i。

输出格式

本题使用 SPJ。

每组数据一行。

若有解,输出 nn 个非负整数,第 ii 个数代表 aia_i。

若无解,输出 -1。

2
4 4
4 1 6 1
3 20 10 12
2 3 4 4
4 9 10 10
3 2
1 2 6 0
1 3 6 0
6 20 18 4
-1

提示

样例解释

对于第一组数据:

a1=6a_1=6,a2=20a_2=20,a3=18a_3=18,a4=4a_4=4。

若将 a4a_4 改为 11,则有 66 个区间的区间和变化量不超过 11,分别为:

[1,1],[1,2],[1,3],[2,2],[2,3],[3,3]。

若将 a3a_3 改为 2020,则所有区间的区间和变化量均不超过 1212。

若将 a2a_2 改为 33,则有 44 个区间的区间和变化量不超过 44,分别为:

[1,1],[3,3],[3,4],[4,4]。

若将 a4a_4 改为 99,则所有区间的区间和变化量均不超过 1010。

可能存在其他解,输出任意一个即可。

对于第二组数据,可以证明没有符合条件的序列满足限制。


数据范围

本题采用捆绑测试。

  • Subtask 1(10 points):1≤n≤101 \le n \le 10,1≤m≤101 \le m \le 10,1≤yi≤101 \le y_i \le 10,1≤pi≤101 \le p_i\le 10。
  • Subtask 2(10 points):m=1m=1。
  • Subtask 3(10 points):ki=n(n+1)2k_i=\frac{n(n+1)}{2}。
  • Subtask 4(20 points):1≤n≤1041 \le n \le 10 ^ 4,1≤m≤1041 \le m \le 10 ^ 4,1≤yi≤1041 \le y_i \le 10 ^4,1≤pi≤1041 \le p_i\le 10^4。
  • Subtask 5(50 points):无特殊限制。

对于所有测试数据,1≤n≤1051 \le n\le 10^5,1≤m≤1051\le m\le 10^5,1≤T≤101 \le T\le 10,1≤xi≤n1\le x_i\le n,1≤ki≤n(n+1)21 \le k_i\le \frac{n(n+1)}{2},1≤yi≤1091 \le y_i \le 10 ^ 9,0≤pi≤1090 \le p_i\le 10^9。