Rex01
2025-01-13 11:21:54
给定两个长度均为
有题目中的公式可以推断出
随后再把推导出的公式融入进代码即可。
#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;
const int N = 2e5 + 10;
const int mod = 998244353;
ll n, a[N], b[N], sum;
bool cmp(int a, int b)
{//从大到小排序函数
return a > b;
}
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i], a[i] *= (n - i + 1) * i;
for(int i = 1; i <= n; i++)
cin >> b[i];
sort(a + 1, a + n + 1);//从小到大
sort(b + 1, b + n + 1, cmp);//从大到小
for(int i = 1;i <= n; i++)
{
sum %= mod;
sum += a[i] % mod * b[i] % mod;
sum %= mod;
}
cout << sum << endl;
return 0;
}