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