diff --git a/TangDou/LanQiaoBei/LanQiao14STEMA202210/TangDou_4.cpp b/TangDou/LanQiaoBei/LanQiao14STEMA202210/TangDou_4.cpp index 4fb28e3..84c2541 100644 --- a/TangDou/LanQiaoBei/LanQiao14STEMA202210/TangDou_4.cpp +++ b/TangDou/LanQiaoBei/LanQiao14STEMA202210/TangDou_4.cpp @@ -1,10 +1,10 @@ #include 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; } \ No newline at end of file diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao14STEMA202301/ggs.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao14STEMA202301/ggs.cpp index 7345f22..dacbb30 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao14STEMA202301/ggs.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao14STEMA202301/ggs.cpp @@ -1,29 +1,26 @@ #include 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; } \ No newline at end of file