| 比赛 |
果蝇王邀请赛div2 |
评测结果 |
AWAWWWWWWWWWAAAWWWWW |
| 题目名称 |
果蝇诱饵 |
最终得分 |
25 |
| 用户昵称 |
2_16鸡扒拌面 |
运行时间 |
1.417 s |
| 代码语言 |
C++ |
内存使用 |
5.99 MiB |
| 提交时间 |
2026-08-27 10:49:55 |
显示代码纯文本
#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#define ll long long
#define SNSNMO 200010
using namespace std;
struct edge{
ll pos,len;
}sd[SNSNMO];
int t;
ll n,k,l,now=0,ans;
ll a[SNSNMO];
bool cmp(edge a,edge b)
{
return a.len>b.len;
}
int main()
{
freopen("fly.in","r",stdin);
freopen("fly.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
cin>>t;
while(t--)
{
now=0;
cin>>n>>k>>l;
for(int i=1;i<=n;++i) cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<n;++i)
{
sd[i].len=a[i+1]-a[i];
sd[i].pos=i;
}
sort(sd+1,sd+n+1,cmp);
ans=max(a[1],l-a[n])+(k-1)*(a[1]+l-a[n]);
for(int i=1;i<n;++i)
{
now+=sd[i].len/2;
ans=max(ans,now+max(a[1]+now,l-a[n]+now)+(k-1-i)*(a[1]+l-a[n]+2*now));
}
cout<<ans<<'\n';
}
}