結果

問題 No.638 Sum of "not power of 2"
ユーザー hoget
提出日時 2018-01-26 23:13:46
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 3 ms
コード長 1,049 Byte
コンパイル時間 929 ms
使用メモリ 8,920 KB
最終ジャッジ日時 2019-07-20 19:09:22

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
in01.txt AC 2 ms
8,916 KB
in02.txt AC 2 ms
8,920 KB
in03.txt AC 3 ms
6,868 KB
in04.txt AC 2 ms
6,868 KB
in05.txt AC 2 ms
6,872 KB
in06.txt AC 2 ms
6,868 KB
in07.txt AC 2 ms
6,872 KB
in08.txt AC 2 ms
6,868 KB
in09.txt AC 2 ms
6,872 KB
in10.txt AC 2 ms
6,872 KB
in11.txt AC 2 ms
6,872 KB
in12.txt AC 2 ms
6,872 KB
sample1.txt AC 3 ms
6,872 KB
sample2.txt AC 3 ms
6,868 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
using namespace std;
#define pb       push_back
#define all(x)   (x).begin(),(x).end()
#define YES() printf("YES\n")
#define NO() printf("NO\n")
#define Yes() printf("Yes\n")
#define No() printf("No\n")
#define in(x,y,h,w) x >= 0 && x < h && y >= 0 && y < w

#define int long long
//typedef    long long          ll;
typedef    vector<bool>       vb;
typedef    vector<int>        vi;
typedef    vector<vb>         vvb;
typedef    vector<vi>         vvi;
typedef    pair<int,int>      P;

template <typename T> T &chmin(T &a, const T &b) { return a = min(a, b); }
template <typename T> T &chmax(T &a, const T &b) { return a = max(a, b); }
 
const int INF=1e+18;
const double EPS=1e-9;
const int MOD=1000000007;
 
const int dx[]={1,0,-1,0},dy[]={0,-1,0,1};

signed main(){
	int n,tmp = 1;
	set<int> st;
	cin >> n;
	while(tmp <= INF){
		st.insert(tmp);
		tmp *= 2;
	}
	for(int i = 1;i < n;i++){
		if(!st.count(i) && !st.count(n - i)){
			cout << i << " " << n - i << endl;
			return 0;
		}
	}
	cout << -1 << endl;
	return 0;
}
0