| 比赛 |
果蝇王邀请赛div2 |
评测结果 |
WAWWWWWWWWWWWWWWWWWW |
| 题目名称 |
果蝇诱饵 |
最终得分 |
5 |
| 用户昵称 |
yanglich |
运行时间 |
2.701 s |
| 代码语言 |
C++ |
内存使用 |
4.02 MiB |
| 提交时间 |
2026-08-27 11:55:05 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int t,n,a[200005],c[200005],k,l,ans;
//vector<int>g,f;
//void dfs(int d,int sum,int h[]){
// for(int j=1;j<=n;j++){
// cout<<h[j]<<" ";
// }
// cout<<"\n";
// cout<<d<<"---"<<sum<<"\n";
// if(d==k){
// if(sum>ans){
// ans=sum;
// f=g;
// }
// return;
// }
// for(int i=0;i<=l;i++){
// int mi=1e9;
// for(int j=1;j<=n;j++){
// cout<<h[j]<<"* ";
// mi=min(mi,abs(i-h[j]));
// }
// for(int j=1;j<=n;j++){
// if(h[j]<i)h[j]+=mi;
// else h[j]-=mi;
// }
// g.push_back(i);
// cout<<i<<' '<<mi<<"$\n";
// dfs(d+1,sum+mi,h);
// g.pop_back();
// for(int j=1;j<=n;j++){
// if(h[j]<i)h[j]-=mi;
// else h[j]+=mi;
// }
// }
//}
void solve(){
cin>>n>>k>>l;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(n==1){
ans=max(l-a[1],a[1]);
ans+=l*(k-1);
cout<<ans<<"\n";
return;
}
sort(a+1,a+n+1);
if(k==1){
int p=0;
for(int i=1;i<=n;i++){
p=max(a[i]-a[i-1],p);
}
cout<<max(p/2,max(a[1],l-a[n]))<<"\n";
return;
}
// dfs(0,0,a);
// cout<<ans<<"---------\n";
// for(int i=0;i<f.size();i++){
// cout<<f[i]<<" ";
// }
// cout<<"\n";
}
int main(){
freopen("fly.in","r",stdin);
freopen("fly.out","w",stdout);
cin>>t;
while(t--){
solve();
}
return 0;
}