Untitled
unknown
plain_text
a year ago
1.1 kB
8
Indexable
#include <iostream>
#include <vector>
#define MOD 998244353
using namespace std;
// Function to calculate modular inverse using Fermat's Little Theorem
long long modInverse(long long a, long long m)
{
long long res = 1, p = m - 2;
while (p > 0)
{
if (p % 2 == 1)
res = (res * a) % m;
a = (a * a) % m;
p /= 2;
}
return res;
}
int main()
{
int N;
cin >> N;
vector<long long> red(N), green(N);
for (int i = 0; i < N; i++)
{
cin >> red[i];
}
for (int i = 0; i < N; i++)
{
cin >> green[i];
}
long long expected_weight_sum = 0;
for (int i = 0; i < N; i++)
{
expected_weight_sum = (expected_weight_sum + red[i] + green[i]) % MOD;
}
expected_weight_sum = (expected_weight_sum * modInverse(2, MOD)) % MOD;
long long N_inv = modInverse(N, MOD);
for (int K = 1; K <= N; K++)
{
long long result = (expected_weight_sum * K % MOD) * N_inv % MOD;
cout << result << " ";
}
cout << endl;
return 0;
}Editor is loading...
Leave a Comment