fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. void solve() {
  4. int n, d;
  5. cin >> n >> d;
  6. vector<long long> a(n);
  7. for (int i = 0; i < n; i++) {
  8. cin >> a[i];
  9. }
  10. vector<long long> a_new(3 * n);
  11. for (int i = 0; i < 3 * n; i++) {
  12. a_new[i] = a[i % n];
  13. }
  14. vector<long long> P(3 * n + 1, 0);
  15. for (int i = 0; i < 3 * n; i++) {
  16. P[i + 1] = P[i] + a_new[i];
  17. }
  18. long long max_total_happiness = 0;
  19. for (int i = 0; i < n; i++) {
  20. int center = n + i;
  21. long long window_sum = P[center + d + 1] - P[center - d];
  22. long long C_i = (2LL * d + 1) * a[i] - window_sum;
  23. if (C_i > 0) {
  24. max_total_happiness += C_i;
  25. }
  26. }
  27. cout << max_total_happiness << "\n";
  28. }
  29. int main() {
  30. ios_base::sync_with_stdio(false);
  31. cin.tie(NULL);
  32. int t;
  33. if (cin >> t) {
  34. while (t--) {
  35. solve();
  36. }
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty