比赛 果蝇王邀请赛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';
    }
}