Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
55098 | 氢氦锂铍硼 | 线性基 (basis) | C++ | 运行超时 | 10 | 2000 MS | 1020 KB | 701 | 2022-08-09 11:30:18 |
#include<bits/stdc++.h> using namespace std; #define ull unsigned long long inline ull read() { ull x=0; char c=getchar(); for(; c<'0' || c>'9'; c=getchar()); for(; c<='9' && c>='0'; c=getchar()) x=(x<<3)+(x<<1)+c-'0'; return x; } int n; ull a[200010]; ull d,t,ans; int main() { // freopen("jb.in","r",stdin); // freopen("jb.out","w",stdout); n=read(); for(int i=1; i<=n; i++) a[i]=read(); for(int i=1; i<=n; i++) for(int j=i+1; j<=n; j++) { d=(a[i]&a[j]),t=(a[i]|a[j]); if((d*d+t*t)>(a[i]*a[i]+a[j]*a[j])) a[i]=d,a[j]=t; } for(int i=1; i<=n; i++) ans+=a[i]*a[i]; cout<<ans<<endl; return 0; }