F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

数字加减

Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 135    Accepted Submission(s): 34


Problem Description
你有一个整数 $s$,初始时 $s = 0$。每秒钟你可以在以下两个操作中选择执行至多一个:$s := s + 1$ 或 $s := s - 1$(可以不执行任何一个)。$s$ 需要满足 $n$ 个限制,第 $i$ 个限制是在 $t_i$ 时刻末 $s$ 不能在 $[l_i, r_i]$ 范围内。

你需要回答 $q$ 个询问,第 $i$ 次询问给出一个时刻 $t'_i$,你需要回答第 $t'_i$ 时刻末在满足限制的情况下 $s$ 有多少种可能的取值(只需要考虑 $t'_i$ 时刻末之前的限制即可)。
 

Input
第一行一个整数 $T$($1 \le T \le 600$),表示测试数据的组数。

对于每组数据,第一行两个整数 $n$ 和 $q$($1 \le n,q \le 5 \times 10^5$),分别表示限制个数和询问个数。

接下来 $n$ 行,第 $i$ 行三个整数 $t_i,l_i,r_i$($1\le t_i\le 10^9,-10^9 \le l_i \le r_i \le 10^9$),分别表示限制的时刻和限制范围。保证满足 $1 \le t_1 < t_2 < \ldots < t_n \le 10^9$。

接下来一行 $q$ 个整数 $t'_1, t'_2, \ldots, t'_q$($1 \le t'_1 < t'_2 < \ldots < t'_q \le 10^9$),依次表示第 $1$ 到第 $q$ 个询问的时刻。

保证所有测试数据的 $n$、$q$ 之和均不超过 $10^6$。
 

Output
对于每组测试数据,输出一行 $q$ 个整数,第 $i$ 个整数表示第 $i$ 个询问的答案。
 

Sample Input
2 2 3 3 -1 1 5 -2 0 2 3 5 2 2 4 -2 2 5 -10 10 3 5
 

Sample Output
5 4 8 7 0
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-26 03:15:23, Gzip enabled