AT_joisc2016_h.回転寿司

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给出一个有 NN 个点的环,环上各点有一个初始权值 aia_i。

给出 QQ 个询问,每次询问给出一个区间 [Si,Ti][S_i,T_i] 和一个值 AiA_i,对于 AiA_i 的变动定义如下(SiS_i 可能会小于 TiT_i 因为是环形):

for (int i=Si;i!=Ti%n+1;i=i%n+1) if(a[i]>Ai) swap(a[i],Ai);

对于每个询问,回答遍历完区间 [Si,Ti][S_i,T_i] 后 AiA_i 的最终值。

注:我们按逆时针方向在环上编号,并规定 [Si,Ti][S_i,T_i] 为从位置编号为 SiS_i 的点逆时针遍历至位置编号为 TiT_i 的点所经过点的集合。

输入格式

第一行包括两个数 NN 与 QQ 表示环的大小和询问的个数。

之后的 NN 行每行共一个整数,第 ii 个为 aia_i。

之后的 QQ 行每行共三个整数 Si,Ti,AiS_i,T_i,A_i,表示如上所示。

输出格式

输出包括 QQ 行,每行包括一个数,为变动结束后 AiA_i 的值。

输入输出样例

  • 输入#1

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

    输出#1

    7
    9
    8
    7
    8
    6
    5

说明/提示

对于全部的数据,1≤N≤4×1051\leq N\leq 4\times 10^5,1≤Q≤250001\leq Q\leq 25000,1≤ai≤1091\leq a_i\leq 10^9,1≤Si,Ti≤N1\leq S_i,T_i\leq N,1≤Ai≤1091\leq A_i\leq 10^9。

子任务 1(5 分):N≤2000N\leq 2000,Q≤2000Q\leq 2000。

子任务 2(15 分):Si=1S_i=1,Ti=NT_i=N(1≤i≤N1\leq i\leq N)。

子任务 3(80 分):无额外限制。

输入解题思路,AI测评打分。不知道怎么写?

首页