改成这样也是30:
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,l,r,sum,ans,ans1,ans2,a[505];
int main() {
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
sum+=a[i];
}
cin>>l>>r;
if(sum<l*n||sum>r*n) {
cout<<-1;
return 0;
}
for(int i=0; i<n; i++) {
if(a[i]<l)
ans1+=(l-a[i]);
else if(a[i]>r)
ans2+=(a[i]-r);
}
ans=max(ans1,ans2);
cout<<ans;
return 0;
}
```
by cn_haha @ 2023-09-29 21:56:29
你好你上下两次的下标没有弄对(
然后正确的思路应该是你下面的代码,这个原理可以自己在想清楚一点(
by luogu_bot5 @ 2023-09-29 22:01:30
@[luogu_bot5](/user/652041) 谢谢大佬已,AC,已关
by cn_haha @ 2023-09-30 11:28:03