比赛 收心赛 评测结果 AAAAAAAATTTTAAAATTTT
题目名称 异或粽子 最终得分 60
用户昵称 rzzakioi 运行时间 17.181 s
代码语言 C++ 内存使用 5.87 MiB
提交时间 2026-02-24 11:08:17
显示代码纯文本
#include<cstdio>
#include<queue>
#define int long long
using namespace std;
int n,k,a[500005];
priority_queue<int,vector<int>,greater<int> >q;
signed main(){
    freopen("xor.in","r",stdin);
    freopen("xor.out","w",stdout);
    scanf("%lld%lld",&n,&k);
    for(int i=1;i<=n;i++){
        scanf("%lld",&a[i]);
        a[i]^=a[i-1];
    }
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            if(q.size()<k)q.push(a[i-1]^a[j]);
            else{
                if((a[i-1]^a[j])>q.top()){
                    q.pop();
                    q.push(a[i-1]^a[j]);
                }
            }
        }
    }
    int ans=0;
    while(!q.empty()){
        ans+=q.top();
        q.pop();
    }
    printf("%lld",ans);
    return 0;
}