結果

問題 No.589 Counting Even
ユーザー mukadenodaioumukadenodaiou
提出日時 2017-11-25 22:43:50
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
RE  
実行時間 -
コード長 1,002 bytes
コンパイル時間 920 ms
コンパイル使用メモリ 103,436 KB
実行使用メモリ 10,272 KB
最終ジャッジ日時 2024-05-05 12:43:10
合計ジャッジ時間 4,909 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
8,448 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 TLE -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'll gcd(ll, ll)':
main.cpp:28:1: warning: control reaches end of non-void function [-Wreturn-type]
   28 | }
      | ^

ソースコード

diff #

# include <iostream>
# include <algorithm>
# include <vector>
# include <string>
# include <set>
# include <map>
# include <cmath>
# include <iomanip>
# include <functional>
# include <utility>
# include <stack>
# include <queue>
# include <list>
# include <bitset>
# include <complex>
#include<limits.h>
#include<unordered_map>
#include<unordered_set>
#include<deque>
#include<cstdio>
typedef long long int ll;
const int INF = 1 << 30;
using namespace std;
ll gcd(ll a, ll b) {
	for (ll i=std::min(a, b);i>=1;--i) {
		if (i%a == 0 && b%i == 0)return i;
	}
}
#define pp pair<int,int>
#define FOR(i,a,n) for(int i=(ll)a;i<(ll)n;++i)
#define TFOR(i,n)FOR(i,0,n)
#define ALL(x) x.begin(),x.end()
int main() {
	ll n;
	cin >> n;
	ll ans=0;
	ll bo = 1, ci = 1;
	for (ll i = 1; i <= n/ 2;++i) {
		bo *= i;
		ci *= (n - i+1);
		//cout << ci << "/" << bo << endl;
		if (ci%bo == 0 && (ci / bo) % 2 == 0)ans += ((n%2==0&&i==n/2)?1:2);
		bo /= gcd(bo, ci); ci /= gcd(bo, ci);
	}
	cout << ans << endl;
	return 0;
}
0