| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38853 | 23级徐泽厚 | 【S】T2 | C++ | 运行超时 | 60 | 1000 MS | 88136 KB | 1171 | 2025-11-10 18:39:55 |
#include <bits/stdc++.h> // #define int long long using namespace std; int n,m; int a[9000005]; int V; unsigned long long r[100005]; map<int,int> mp; signed main(){ // freopen("guidance.in","r",stdin); // freopen("guidance.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n>>m; for (int i=1;i<=n;i++){ cin>>a[i]; if (mp[a[i]]!=0){ cout<<"0\n"; return 0; } mp[a[i]]++; } V=(1<<m); // memset(r,-1,sizeof(r)); for (int x=0;x<V;x++){ unsigned long long minn=-1; for (int i=1;i<=n;i++){ for (int j=i+1;j<=n;j++){ int aix=a[i]^x; int ajx=a[j]^x; int aij=a[i]^a[j]; unsigned long long cnt=(unsigned long long)abs(aix-ajx)+aij; if (cnt<minn){ minn=cnt; } } } r[x]=minn; } unsigned long long ans=0; for (int x=0;x<V;x++){ ans+=(unsigned long long)(x+1)*r[x]; } cout<<ans<<"\n"; cout.flush(); return 0; }