#include<bits/stdc++.h> using namespace std; #define int long long int T,n,p,a[2000010],x,minn,ans,sum1,sum2,pos1,pos2,tmp,sum,MIN,MAX; signed main(){ ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>T; while(T--){ cin>>n>>p; minn=MIN=LLONG_MAX,pos1=pos2=sum1=sum2=0,MAX=LLONG_MIN; for(int i=1;i<=n;i++)cin>>x,a[x+1000000]++,sum2+=x,MIN=min(MIN,x),MAX=max(MAX,x); pos2=n,sum=sum2; for(int i=MIN;i<=MAX;i++){ x=i+1000000; sum2-=a[x]*i,pos2-=a[x]; sum1+=a[x]*i,pos1+=a[x]; tmp=2*((pos1-pos2)*i+sum2-sum1)+p*i; if(minn>tmp)minn=tmp,ans=i; a[x]=0; } if(2*(1e9*n+sum)+1e9*p<minn||2*(sum+1e9*n)-1e9*p<minn)cout<<"No\n"; else cout<<ans<<"\n"; } return 0; }
Note.ms
/ss