結果
問題 | No.1298 OR XOR |
ユーザー |
|
提出日時 | 2020-11-28 11:12:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,889 bytes |
コンパイル時間 | 2,172 ms |
コンパイル使用メモリ | 178,988 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-12 22:15:25 |
合計ジャッジ時間 | 2,913 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 13 |
ソースコード
/*author:ryo3ihara”継続は力なり、雨だれ石を穿つ””slow but steady wins the race”*/#pragma GCC optimize("Ofast")#include<bits/stdc++.h>//#include<atcoder/all>//using namespace atcoder;/*// 多倍長テンプレ#include <boost/multiprecision/cpp_dec_float.hpp>#include <boost/multiprecision/cpp_int.hpp>namespace mp = boost::multiprecision;// 任意長整数型using Bint = mp::cpp_int;// 仮数部が1024ビットの浮動小数点数型(TLEしたら小さくする)using Real = mp::number<mp::cpp_dec_float<1024>>;*/using namespace std;using ll = long long;using ld = long double;using pll = pair<ll, ll>;using pli = pair<ll, int>;using pii = pair<int, int>;using pld = pair<ll, ld>;using ppiii = pair<pii, int>;using ppiill = pair<pii, ll>;using ppllll = pair<pll, ll>;using pplii = pair<pli, int>;using mii = map<int, int>;using dll = deque<ll>;using qll = queue<ll>;using pqll = priority_queue<ll>;using pqrll = priority_queue<ll, vector<ll>, greater<ll>>;using vint = vector<int>;using vll = vector<ll>;using vpll = vector<pll>;using vvll = vector<vector<ll>>;using vvint = vector<vector<int>>;using vvpll = vector<vector<pll>>;//マクロ//forループ#define REP(i,n) for(ll i=0;i<ll(n);i++)#define REPD(i,n) for(ll i=n-1;i>=0;i--)#define FOR(i,a,b) for(ll i=a;i<=ll(b);i++)#define FORD(i,a,b) for(ll i=a;i>=ll(b);i--)#define ALL(x) x.begin(),x.end()#define rALL(x) x.rbegin(),x.rend()#define SIZE(x) ll(x.size())#define fs first#define sc second//定数const ll MOD = 1000000007;const int inf = 1e9;const ll INF = 1e18;const ll MAXR = 100000; //10^5:配列の最大のrangeinline void Yes(bool b = true) { cout << (b ? "Yes" : "No") << '\n'; }inline void YES(bool b = true) { cout << (b ? "YES" : "NO") << '\n'; }//最大化問題最小化問題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;}//高速冪乗化 modの時は一部入れ替えるll power(ll x, ll y) {if(y == 1) {return x;}ll ans;if(y % 2 == 1) {ll r = power(x,(y-1)/2);//ans = r * r % MOD;//ans = ans * x % MOD;ans = x * r * r;}else {ll r = power(x,y/2);//ans = r * r % MOD;ans = r * r;}return ans;}/*Bint powerb(Bint x, Bint y) {if(y == 1) {return x;}Bint ans;if(y % 2 == 1) {Bint r = powerb(x,(y-1)/2);//ans = r * r % MOD;//ans = ans * x % MOD;ans = x * r * r;}else {Bint r = powerb(x,y/2);//ans = r * r % MOD;ans = r * r;}return ans;}*/int binary(int bina){int ans = 0;for (int i = 0; bina>0 ; i++){ans = ans+(bina%2)*pow(10,i);bina = bina/2;}return ans;}int btoi(ll b) {string bin = to_string(b);int result;if (bin[0] == '1') {result = strtoul(bin.c_str(), NULL, 2) - 2 * std::pow(2.0, (int)(bin.size() - 1));}else{result = strtoul(bin.c_str(), NULL, 2);}return result;}signed main(){//入力の高速化用のコードios::sync_with_stdio(false);cin.tie(nullptr);//入力ll n;cin >> n;ll j = -1;REP(i,31){if(n & (1<<i)){j=i;break;}}if(n == (1<<j)){cout << -1 << " " << -1 << " " << -1 << endl;return 0;}cout << (1<<j) << " " << n -(1<<j) << " " << n << endl;//本文//出力//cout << fixed << setprecision(10) << ans << endl;return 0;}