提交时间:2026-05-31 21:28:24
运行 ID: 41855
#include <bits/stdc++.h> using namespace std; int a[200005], b[100005], c[100005], p, T, n, m; long long ans, sum; int main() { cin >> T; while (T--) { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> a[i]; } ans = p = 0; for (int i = 1; i <= n / 2 + n % 2; i++) { b[i] = (a[i] - a[n - i + 1]) % m; c[i] = b[i] - b[i - 1]; if (c[i] > 0) ans += c[i], p++; } // cout << p << ' '; sort(c + 1, c + n / 2 + 1 + n % 2); for (int i = 1; i <= min(n / 2 + n % 2 - p, p) && m + c[i] < c[n / 2 + n % 2 - i + 1]; i++) { ans += m + c[i] - c[n / 2 + 1 - i + n % 2]; } cout << ans << '\n'; } } /* 3 4 5 0 3 1 2 1 20260418 454 7 12 3 1 4 1 5 9 2 */