From 96254947699986c59f0dc63d69fd4b76bd3ed43e Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 6 Jul 2026 19:08:08 +0200 Subject: Initial commit --- .../sliding_window_sum_3220.cpp | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 11_sliding_window_problems/sliding_window_sum_3220.cpp (limited to '11_sliding_window_problems/sliding_window_sum_3220.cpp') diff --git a/11_sliding_window_problems/sliding_window_sum_3220.cpp b/11_sliding_window_problems/sliding_window_sum_3220.cpp new file mode 100644 index 0000000..9096b75 --- /dev/null +++ b/11_sliding_window_problems/sliding_window_sum_3220.cpp @@ -0,0 +1,25 @@ +#include +#include + +int main() { + size_t n, k; + long long x, a, b, c, sum{0}, sol{0}; + std::cin >> n >> k >> x >> a >> b >> c; + + std::vector v(k); + for (size_t i = 0; i < k; i++) { + sum += x; + v[i] = x; + x = (a*x + b) % c; + } + + sol = sum; + for (size_t i = 0; i < n-k; i++) { + sum -= v[i%k]; + v[i%k] = (a*v[(i-1+k)%k] + b) % c; + sum += v[i%k]; + sol ^= sum; + } + + std::cout << sol << "\n"; +} -- cgit v1.3