結果

問題 No.420 mod2漸化式
コンテスト
ユーザー olphe
提出日時 2016-11-18 21:49:17
言語 C++11
(gcc 15.2.0 + boost 1.90.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 810 ms / 1,000 ms
+ 667µs
コード長 606 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 269 ms
コンパイル使用メモリ 69,732 KB
実行使用メモリ 5,888 KB
最終ジャッジ日時 2026-07-25 13:43:07
合計ジャッジ時間 8,374 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 35
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include "iostream"
using namespace std;

const long long int UP = 2147483647;
int N;
long long int ans;
int fig;

void search(long long int num,int point ,int cap) {
	if (num > UP)return ;
	if (num == 0) {
		search(1, 1,30);
		if (N == 0) {
			fig++;
		}
		return ;
	}
	if (point < N) {
		if(cap-1+point>=N)search(num * 2, point,cap-1);

		if(cap+point)search(num * 2 + 1, point + 1,cap-1);
	}
	else if (point == N) {
		for (int i = cap; i >= 0; i--) {
			ans += num;
			num *= 2;
		}
		fig+=cap+1;
	}
	return ;
}

int main() {
	cin >> N;
	search(0, 0,31);
	cout << fig << " " << ans << "\n";
	return 0;
}
0