AT_abc150_e.[ABC150E] Change a Little Bit

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

对于两个长度为 nn01\texttt{01} 序列 S,TS,T ,我们定义 f(S,T)f(S,T) 为通过以下操作将 SS 修改为 TT 的最小代价和: 选择一个 SS 中的二进制位 SiS_{i} ,然后改变 SiS_{i}01\texttt{01} 状态,代价为 D×CiD \times C_{i},其中 DD 是此次操作前满足 SjTjS_{j}\ne T_{j} 的整数 jj 的数量,CiC_{i} 是一个给定的序列中的一个值。

求当 SS2n2^n 种不同的状态,TT2n2^n 种不同的状态时,f(S,T)f(S,T) 的和对 10000000071000000007 取模的结果。

输入格式

第一行一个整数 nn

第二行 nn 个整数 CiC_{i}

输出格式

一行一个整数,表示答案

输入输出样例

  • 输入#1

    1
    1000000000

    输出#1

    999999993
  • 输入#2

    2
    5 8

    输出#2

    124
  • 输入#3

    5
    52 67 72 25 79

    输出#3

    269312

说明/提示

1n200000,1Ci1091 \le n \le 200000 , 1 \le C_{i} \le 10^9

首页