为啥我读进来的 k 是 0?
#include <cstdio>
using namespace std;
typedef long long ll;
const ll p = 19491001;
ll inv(ll x) {
return x == 1 ? 1 : (p - p / x) * inv(p % x) % p;
}
ll read() {
ll ans = 0;
char c;
do {
c = getchar();
} while ('0' > c || c > '9');
do {
ans = ((ans * 10) + (c - '0')) % p;
c = getchar();
} while ('0' <= c && c <= '9');
return ans;
}
ll a[1000005];
int main() {
ll n = read();
ll k;
scanf("%lld", &k);
for (ll i = 1; i <= k; i++) {
scanf("%lld", a + i);
}
ll sum = 0;
for (ll i = 1; i <= k; i++) {
sum = (sum + a[i]) % p;
}
printf("%lld", (n * inv(k) % p * sum % p + 2 * (n - 1) % p * inv(k) % p * inv(k) % p * sum % p) % p);
return 0;
}