ggg

题目描述

小周猪猪是一个肥肥可爱萌萌哒的小猪,在中华猪民共和国享有超高人气。现在是一年一度的猪猪生日,小周猪猪决定发放 nnn 个名额给它的粉丝参加小周猪猪的生日Party:每一份参加的猪都有机会给小周猪猪送礼物

现在有nnn个粉丝,分别排成一排,每一个粉丝上都有一个对小周猪猪的喜爱值,且范围是 [1,n][1,n][1,n] ,规定每一个粉丝的喜爱值两两不相同。已知有m次送礼物的活动,每一次的送礼物过程如下:

  • 每一次小周猪猪会随机报出一个 [1,n][1,n][1,n] 中的任意数字 kkk,那么每一个编号 ≤k≤kk 的幸运粉丝都可以离开原始列队,进入小周猪猪的小房子送给小周猪猪价值一个亿的礼物。
  • 送完礼物以后,这些人会按照从小到大的顺序重新回到队列中,填补队列中空缺的位置。
  • 最后,每一个粉丝都会向右看其它的小猪,对于位置 iii 的小猪,和位置 jjj 的小猪,若满足 i&lt;ji&lt;ji<j ,且 ai&gt;aja_i&gt;a_jai>aj ,那么就会产生 gjg_jgj 的怨气值, gig_igi 值表示队列中位置iii所对应的系数。每一次的总怨气值为所有怨气值之和。

现在,我们需要知道初始怨气值和每一次送礼物结束以后的怨气值。没错,这是小周猪猪对你的考验;当你完成了这个考验的时候,你也会拥有和粉丝一样的幸运待遇:给小周猪猪送礼物andandand买很多很多好吃的给小周猪猪的机会哦!

输入格式

第一行:一个数nnn,表示粉丝数。一个数mmm,表示送礼物次数。
第二行:一共有nnn个数,第iii个数为aia_iai,表示粉丝的喜爱值。
第三行:一共有nnn个数,第iii个数为gig_igi,表示位置i的系数。
接下来mmm行:每一行都是小周猪猪的报出的数字。

输出格式

第一行:一个数,表示初始怨气值。
接下来mmm行:每行一个数,表示每一次送礼物以后的怨气值之和。

输入样例1

5 5
5 3 2 4 1
43 23 24 5 77
1
2
3
4
5

输入样例2

384
384
307
206
129
0

数据规模与约定

对于30%30\%30%的数据,保证n≤100n≤100n100.

对于另外30%30\%30%的数据,保证m≤5m\leq 5m5.

对于100%100\%100%的数据,保证:

  • 1≤n,m≤3,000,0001≤n,m≤3,000,0001n,m3,000,000.
  • aia_iai1−n1-n1n的排列.
  • 1≤gi≤100,000,0001≤g_i≤100,000,0001gi100,000,000

题解

举个例子,如果是4 2 1 5 3,如果小周猪猪报出的是3,那么就会变成4 1 2 5 3.
此时1 2 3不会有任何的贡献。

根据特性我们就发现当某一个数x排序时,小于等于x的数都没有贡献,计算大于这个数的贡献即可。

由于询问此时比较多,记录最大值,再用一个后缀和记录一下即可。

时间复杂度:O(nlogn).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值