CSG-CPC
Online Judge

1294 : 数组批量删除

         Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 48     Solved: 19    

Description

给出一个数组和依次序的若干次删除区间,每次给出删除后要求输出的结果.

Input

第一行整数 \(1 \leq n \leq 10^6\)\(1 \leq m \leq 100\) 表示数组初始有 \(n\) 个数,共 \(m\) 次删除操作.

数组的 \(n\) 个数由如下代码定义:

// #include<cmath>
for(int i = 0; i < n; i ++)
    a[i] = (int)(sin(n + i) * 1000000);

接下来 \(m\) 行,每行前两个数 \(0 \leq s \leq e \leq 10^6\) 表示删除 \([s, e)\) 左闭右开区间的数,如果范围不合法则忽略该删除操作. 后两个数\(0 \leq l \leq r \leq 10^6\) 表示要求输出执行删除后 \([l, r)\) 左闭右开区间的数.

Output

每次操作输出要求的区间的数字. 删除区间超出数组范围的部分无需任何操作,要求输出的区间超出数组范围的部分无需输出. 如果没有内容可以输出,请输出“null”.

Sample

7 5
6 6 1 4
0 5 2 4
5 8 1 5
3 4 5 8
4 6 8 9

##CASE##
7 6
4 4 0 5
5 10 7 10
1 4 1 2
0 1 3 6
0 0 1 5
5 9 0 5
989358 412118 -544021 
null
420167 
null
null

##CASE##
656986 989358 412118 -544021 -999990 
null
-999990 
null
null
-999990 

Hint

Author

CSGrandeur