一、题目描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9dc1febcc12fcf5219b1cc5f7210039f.png)
样例
样例输入
3 2
1 2 3
1 2 0
2 1 3
样例输出
6
![数据范围与提示](https://i-blog.csdnimg.cn/blog_migrate/0e705db0e88e3a58cb0d80ec44974150.png)
二、算法分析说明与代码编写指导
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/976132374c1e4768dad72c5741e698ad.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b2ae39b6d4867f46cfc138be88ff0842.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/346e8331ea322818802457c3a1dc0ee4.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8aaaa97e5b91a4e4695750c67eb4b3cf.png)
三、AC 代码
#include<cstdio>
#pragma warning(disable:4996)
template<class _Ty> class Binary_Index_Tree {
private:
_Ty* a; size_t n;
size_t lowbit(const size_t& x) {
return x & (~x + 1); }
public: