1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define int long long const int N=5e5,BIT=60; int n,a[N]; int findfa(int x) { int pos=upper_bound(a+1,a+1+n,x)-a; if(pos==1)return -1; return a[pos-1]; } signed main() { for(int i=0;i<BIT;i++) { for(int j=i+1;j<BIT;j++) { for(int k=j+1;k<BIT;k++) { int x=(1ll<<i)+(1ll<<j)+(1ll<<k); a[++n]=x; } } } sort(a+1,a+1+n); int t;cin>>t; while(t--) { int x;cin>>x; cout<<findfa(x)<<'\n'; } return 0; }
- 1
信息
- ID
- 226
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者