new file: P16060.cpp

This commit is contained in:
hanyixuanten committed 2026-10-14 20:45:40 +08:00
1 parent c0f5d1b60d
commit 4dc6b0f8f4
3 files changed
+257

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
#include <bits/stdc++.h>
using namespace std;
int n, N;
map<int, int> changes;
int main() {
scanf("%d%d", &n, &N);
for (int i = 1, a; i <= n; ++i)
scanf("%d", &a), changes[a] = 1;
for (int i = 1; i * (N / (n + 1)) < N; i++) {
if (changes.find(i * (N / (n + 1))) != changes.end())
changes[i * (N / (n + 1))] = 3;
else
changes[i * (N / (n + 1))] = 2;
}
changes[N] = 2;
int nowf = 0, nowg = 0;
long long ans = 0;
pair<int, int> pre = {0, 0};
for (pair<int, int> now : changes) {
ans += abs(nowg - nowf) * (now.first - pre.first);
if (now.second == 1)
nowf++;
else if (now.second == 2)
nowg++;
else
nowf++, nowg++;
pre = now;
}
printf("%lld\n", ans);
return 0;
}