結果
問題 |
No.1298 OR XOR
|
ユーザー |
![]() |
提出日時 | 2020-11-28 00:46:55 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 3,274 bytes |
コンパイル時間 | 2,094 ms |
コンパイル使用メモリ | 192,796 KB |
最終ジャッジ日時 | 2025-01-16 08:56:35 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; template<typename T, typename U> using vp = vector<pair<T,U>>; template<typename T> using pque = priority_queue<T>; template<typename T> using lpque = priority_queue<T,vector<T>,greater<T>>; using ll = long long; using pint = pair<int,int>; using pll = pair<ll,ll>; using pil = pair<int,ll>; using pli = pair<ll,int>; using vint = vector<int>; using vll = vector<ll>; using qint = queue<int>; using pqint = pque<int>; using qll = queue<ll>; using pqll = pque<ll>; constexpr double PI = 3.141592653589793; constexpr int INTINF = (1<<30)-1; constexpr ll LLINF = (1LL<<62)-1; constexpr int MPRIME = 1000000007; constexpr int MPRIME9 = 998244353; constexpr ll MMPRIME = (1LL<<61)-1; constexpr char newl = '\n'; #define len length() #define pushb push_back #define fi first #define se second #define all(name) name.begin(),name.end() #define rall(name) name.rbegin(),name.rend() #define gsort(vbeg,vend) sort(vbeg,vend,greater<>()) template<typename T> struct matrix{ private: vector<vector<T>> mat; public: matrix() : matrix(0,0) {} matrix(int h, int w) { resize(h,w); } matrix(int h, int w, T init) { resize(h,w,init); } void resize(int h, int w) { mat=vector<vector<T>>(h,vector<T>(w)); } void resize(int h, int w, T init) { mat=vector<vector<T>>(h,vector<T>(w,init)); }; void in() { for(int i=0; i<mat.size(); i++) for(int j=0; j<mat[i].size(); j++) { cin>>mat[i][j]; } } void out() { for(int i=0; i<mat.size(); i++) { int wm=mat[i].size(); for(int j=0; j<wm; j++) { cout<<mat[i][j]<<(wm==j+1 ? '\n' : ' '); } } cout<<flush; } inline vector<T> &operator[](int idx) { assert(0<=idx && idx<mat.size()); return mat[idx]; } }; template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } template<class T> inline void init(T& v) { for(auto &a: v) cin>>a; } template<class T, class U> inline void init(vector<pair<T,U>>& v) { for(auto &a: v) cin>>a.first>>a.second; } template<class T, class N> inline void init(T& v, N n) { v.resize(n); for(auto &a: v) cin>>a; } template<class T, class U, class N> inline void init(vector<pair<T,U>>& v, N n) { v.resize(n); for(auto &a: v) cin>>a.first>>a.second; } template<class T> inline void out(T a) { cout<<a<<endl; } template<class T, class... U> inline void out(T a, U... alist) { cout<<a<<" "; out(forward<U>(alist)...); } template<class N> void resiz(N n) { //empty } template<class N, class T, class... U> void resiz(N n, T&& hd, U&&... tl) { hd.resize(n); resiz(n,forward<U>(tl)...); } long long binpow(long long a, long long ex, long long p=MMPRIME) { long long res = 1; while(ex > 0) { if(ex & 1) (res*=a) %= p; ex>>=1; (a*=a) %= p; } return res; } ll N,A,B,C; void input() { cin>>N; } void solve() { C=N; for(int i=0; i<30; i++) { if((N>>i)&1) { A = (1<<i); B = (((1<<30)-1)^A)&C; if(B) { cout<<A<<" "<<B<<" "<<C<<newl; return; } } } cout<<"-1 -1 -1"<<newl; } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cout<<fixed<<setprecision(15); int t=1; while(t--) { input(); solve(); } }