1294 : 数组批量删除
Time Limit: 1 Sec Memory Limit: 128 MB Submitted: 103 Solved: 25Description
给出一个数组和依次序的若干次删除区间,每次给出删除后要求输出的结果.
Input
第一行整数 \(1 \leq n \leq 10^6\) 和 \(1 \leq m \leq 100\) 表示数组初始有 \(n\) 个数,共 \(m\) 次删除操作.
数组的 \(n\) 个数由如下代码定义:
// #include<cmath>
for(int i = 0; i < n; i ++)
[i] = (int)(sin(n + i) * 1000000); a
接下来 \(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
Source
算法竞赛入门-线性表-顺序表Author
CSGrandeur