编程题
### 问题描述 给定一个大小为 $n$ 的序列 $a$ ,以及 $q$ 次操作,每次操作为下列操作之一: $1$ $x$ $y$ 表示将序列中第 $x$ 个数修改为 $y$ 。 $2$ $p$ 表示查询序列中第一个不小于 $p$ 的数的位置。 ### 输入格式 第一行给定一个正整数 $n$ 。 第二行输入 $n$ 个数表示序列 $a$ 。 第三行输入一个正整数 $q$ 表示有 $q$ 次询问 接下来 $q$ 行,对于操作 $1$ 给定三个正整数分别表示操作类型 $op$ ,修改位置 $x$ 以及修改值 $y$。对于操作 $2$ 给定两个正整数分别表示操作类型 $op$ 以及需要查询的数 $p$ 。 ### 输出格式 对于每个操作 $2$ ,每次输出一个正整数,表示第一个不小于 $x$ 的数的位置,如果不存在则输出 $-1$ 。 ### 输入案例 ```text 6 5 4 4 3 9 1 5 2 3 2 10 1 5 10 2 10 2 6 ``` ### 样例输出 ```text 1 -1 5 5 ``` ### 说明 对于第一次操作,序列中第一个大于 $3$ 的数为 $5$,他的位置为 $1$ ,所以输出 $1$。对于第三次操作,由于序列中没有比 $10$ 大的数,故输出 $-1$。 ### 评测数据规模 对于 $100$% 的评测数据。 $1\leq n \leq 2\times 10^5$,$1 \leq a_i \leq 10^9$ ,$1 \leq q \leq 2\times 10^5$ ,$1\leq op \leq 2$ ,$1\leq x \leq n$ ,$1\leq y,p \leq 10^9$。
查看答案
赣ICP备20007335号-2