| 比赛 |
果蝇王邀请赛div2 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
| 题目名称 |
果蝇诱饵 |
最终得分 |
100 |
| 用户昵称 |
郑霁桓 |
运行时间 |
1.566 s |
| 代码语言 |
C++ |
内存使用 |
5.19 MiB |
| 提交时间 |
2026-08-27 09:16:08 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long T,n,k,l,a[200005],s1,s2,tp,ps,as;
priority_queue<long long>q;
int main(){
freopen("fly.in","r",stdin);
freopen("fly.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>T;
while(T--){
cin>>n>>k>>l,ps=0;
while(!q.empty()) q.pop();
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=2;i<=n;i++) q.push(a[i]-a[i-1]);
s1=a[1],s2=l-a[n],as=max(s1,s2)+(k-1)*(s1+s2);
while(!q.empty()){
int tp=q.top()/2;
ps+=tp;
q.pop();
s1+=tp;
s2+=tp;
k--;
if(k) as=max(as,ps+max(s1,s2)+(k-1)*(s1+s2));
else{
as=max(as,ps);
break;
}
}
cout<<as<<"\n";
}
return 0;
}