CF920F.SUM and REPLACE
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let D(x) be the number of positive divisors of a positive integer x . For example, D(2)=2 ( 2 is divisible by 1 and 2 ), D(6)=4 ( 6 is divisible by 1 , 2 , 3 and 6 ).
You are given an array a of n integers. You have to process two types of queries:
- REPLACE l r — for every
replace ai with D(ai) ;
- SUM l r — calculate
.
Print the answer for each SUM query.
输入格式
The first line contains two integers n and m ( 1<=n,m<=3⋅105 ) — the number of elements in the array and the number of queries to process, respectively.
The second line contains n integers a1 , a2 , ..., an ( 1<=ai<=106 ) — the elements of the array.
Then m lines follow, each containing 3 integers ti , li , ri denoting i -th query. If ti=1 , then i -th query is REPLACE li ri , otherwise it's SUM li ri ( 1<=ti<=2 , 1<=li<=ri<=n ).
There is at least one SUM query.
输出格式
For each SUM query print the answer to it.
输入输出样例
输入#1
7 6 6 4 1 10 3 2 4 2 1 7 2 4 5 1 3 5 2 4 4 1 5 7 2 1 7
输出#1
30 13 4 22