結果
問題 | No.1674 Introduction to XOR |
ユーザー | uytvcc |
提出日時 | 2021-09-10 21:40:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,139 bytes |
コンパイル時間 | 1,338 ms |
コンパイル使用メモリ | 171,172 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-11 22:58:17 |
合計ジャッジ時間 | 2,035 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; #define rep(i,n) for(int i=0; i<(int)(n); i++) #define MOD int(1e9)+7 #define MOD2 int(998244353) #define INF int(1e9)+7 #define LINF ll(1e18)+7 #define PI acos(-1) #define P pair<ll,ll> template <typename T> inline bool chmax(T &a, const T &b){ if(a<b) {a=b; return true;} else return false; } template <typename T> inline bool chmin(T &a, const T &b){ if(a>b) {a=b; return true;} else return false; } //Graph struct Edge{ int to; ll cost; Edge(int _to, ll _cost) : to(_to), cost(_cost) {} }; typedef vector<Edge> Edges; typedef vector<Edges> Graph; void add_edge(Graph &g,int from,int to,ll cost,bool rev,ll rev_cost){ g[from].push_back(Edge(to,cost)); if(rev) g[to].push_back(Edge(from,rev_cost)); } int n; ll a[110]; void solve(){ cin>>n; rep(i,n) cin>>a[i]; rep(i,63){ bool f=1; rep(j,n){ if(a[j]>>i&1) f=0; } if(f){ ll ans=(1LL<<i); cout<<ans<<endl; return; } } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cout<<setprecision(10)<<fixed; solve(); return 0; }