CF1876B Effects of Anti Pimples
definieren · · 题解
考虑分别计算每个
可以发现,如果你在
然后问题就转化为了求
所以可以对
时间复杂度
const int MAXN = 1e5 + 9;
int n, a[MAXN], pw[MAXN];
int ans = 0;
int main() {
n = Read<int>();
for (int i = 1; i <= n; i ++) a[i] = Read<int>();
for (int i = 1; i <= n; i ++)
for (int j = i; j <= n; j += i)
cmax(a[i], a[j]);
sort(a + 1, a + n + 1), pw[0] = 1;
for (int i = 1; i <= n; i ++) pw[i] = add(pw[i - 1], pw[i - 1]);
for (int i = 1; i <= n; i ++) cadd(ans, int(1ll * a[i] * pw[i - 1] % MOD));
Write(ans, '\n'); Flush();
return 0;
}