比赛 果蝇王邀请赛div2 评测结果 TETEEEEEEEEEEEEEEEEE
题目名称 果蝇诱饵 最终得分 0
用户昵称 0814d 运行时间 4.767 s
代码语言 C++ 内存使用 3.37 MiB
提交时间 2026-08-27 11:17:01
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,n,k,l;
int a[1005],b[1005],c[1005];
int maxx;
int check(){
    int ans=0;
    for(int j=1;j<=k;j++){
        int ti=1e9;
        for(int i=1;i<=n;i++){
            ti=min(ti,abs(a[i]-b[j]));
        } 
        ans+=ti;
        for(int i=1;i<=n;i++){
            if(a[i]>b[j])a[i]-=ti;
            else a[i]+=ti;
        }
    }
    for(int i=1;i<=n;i++){
        a[i]=c[i];
    }
    return ans;
}
void search(int t){
    if(t>k){
        maxx=max(maxx,check());
        return;
    }
    for(int i=0;i<=l;i++){
        b[t]=i;
        search(t+1);
    }
}
signed main(){
    freopen("fly.in","r",stdin);
    freopen("fly.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>T;
    while(T--){
        cin>>n>>k>>l;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            c[i]=a[i];
        }
        search(1);
        cout<<maxx<<endl;
        maxx=0;
    }
    return 0;
}