main
黄海 1 year ago
parent ae6bce7770
commit e694266378

@ -1,10 +1,10 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 1111;
int n, l, r;
int a[N];
int a[110];
int l, r;
int n;
int sum;
int res;
int s1, s2;
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
@ -14,10 +14,12 @@ int main() {
cin >> l >> r;
if (sum < l * n || sum > r * n) {
printf("-1");
return 0;
exit(0);
}
for (int i = 1; i <= n; i++)
if (a[i] > r) res += a[i] - r;
printf("%d\n", res);
for (int i = 1; i <= n; i++) {
if (a[i] > r) s1 += a[i] - r;
if (a[i] < l) s2 += l - a[i];
}
cout << max(s1, s2);
return 0;
}

@ -1,29 +1,26 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 120;
int a[N], b[N];
const int INF = 0x3f3f3f3f;
int n, sum, avg;
int a[110];
int l, r;
int n;
int sum;
int s1, s2;
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum += a[i];
a[i + n] = a[i];
}
avg = sum / n;
int mi = INF;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) b[j] = a[i + j];
int cnt = 0;
for (int j = 0; j < n - 1; j++) {
cnt += abs(b[j] - avg);
b[j + 1] += b[j] - avg;
b[j] = avg;
}
mi = min(mi, cnt);
cin >> l >> r;
if (sum < l * n || sum > r * n) {
printf("-1");
exit(0);
}
cout << mi << endl;
for (int i = 1; i <= n; i++){
if (a[i] > r) s1 += a[i] - r;
if (a[i] < l) s2 += l - a[i];
}
cout << max(s1, s2);
return 0;
}
Loading…
Cancel
Save