Advertisement
Guest User

Untitled

a guest
Feb 29th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int phi (int n) {
  4. int result = n;
  5. for (int i=2; i*i<=n; ++i)
  6. if (n % i == 0) {
  7. while (n % i == 0)
  8. n /= i;
  9. result -= result / i;
  10. }
  11. if (n > 1)
  12. result -= result / n;
  13. return result;
  14. }
  15.  
  16. int main() {
  17. std::ios_base::sync_with_stdio(false);
  18. std::cin.tie(NULL);
  19. int N, M, MOD;
  20. std::cin >> N >> M >> MOD;
  21. int q = phi(MOD);
  22. int *a = new int[N + 1];
  23. int *x = new int[M];
  24. for (int i = N; i >= 0; --i) {
  25. std::cin >> a[i];
  26. a[i] %= MOD;
  27. }
  28. for (int i = 0; i < M; ++i) {
  29. std::cin >> x[i];
  30. x[i] %= MOD;
  31. }
  32. int *mas = new int[q];
  33. for (int j = 0; j < M; j++) {
  34. int temp = 1, sum = 0, k = 0;
  35. for (int i = 0; i <= N; ++i) {
  36. if (i < q) {
  37. mas[i] = temp;
  38. sum = (sum + (a[i] * temp) % MOD) % MOD;
  39. temp = (temp * x[j]) % MOD;
  40. } else {
  41. sum = (sum + (a[i] * mas[k]) % MOD) % MOD;
  42. k++;
  43. if (k == q) {
  44. k = 0;
  45. }
  46. }
  47. }
  48. std::cout << sum << std::endl;
  49. }
  50. delete [] a;
  51. delete [] mas;
  52. delete [] x;
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement