結果

問題 No.415 ぴょん
ユーザー syoken_desukasyoken_desuka
提出日時 2016-09-24 02:35:34
言語 C++11
(gcc 11.4.0)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 2,544 bytes
コンパイル時間 1,472 ms
コンパイル使用メモリ 157,584 KB
実行使用メモリ 10,144 KB
最終ジャッジ日時 2024-04-29 11:45:05
合計ジャッジ時間 5,771 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 AC 1 ms
6,944 KB
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
testcase_14 RE -
testcase_15 RE -
testcase_16 RE -
testcase_17 RE -
testcase_18 RE -
testcase_19 RE -
testcase_20 RE -
testcase_21 RE -
testcase_22 AC 2 ms
6,940 KB
testcase_23 RE -
testcase_24 RE -
testcase_25 RE -
testcase_26 RE -
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp:32: warning: "dbg2" redefined
   32 | #define dbg2 {}
      | 
main.cpp:27: note: this is the location of the previous definition
   27 | #define dbg2(var0, var1) { std::cerr << ( #var0 ) << "=" << ( var0 ) << ", "; dbg(var1); }
      | 
main.cpp:33: warning: "dbg3" redefined
   33 | #define dbg3 {}
      | 
main.cpp:28: note: this is the location of the previous definition
   28 | #define dbg3(var0, var1, var2) { std::cerr << ( #var0 ) << "=" << ( var0 ) << ", "; dbg2(var1, var2); }
      | 
main.cpp:34: warning: "dbgArray" redefined
   34 | #define dbgArray {}
      | 
main.cpp:29: note: this is the location of the previous definition
   29 | #define dbgArray(a,n) {std::cerr << (#a) << "=";  rep(i,n){std::cerr <<(a[i])<<",";} cerr<<endl;}
      | 
main.cpp: In function ‘ll gcd(ll, ll)’:
main.cpp:58:47: warning: control reaches end of non-void function [-Wreturn-type]
   58 | ll gcd(ll x, ll y) { if (y == 0) return x; gcd(y, x% y); }
      |                                            ~~~^~~~~~~~~

ソースコード

diff #

#include "bits/stdc++.h"
using namespace std;

//諸機能
#pragma region MACRO 
#define putans(x)  std::cerr << "answer: " ; cout << (x) << endl
#define dputans(x) std::cerr << "answer: "; cout << setprecision(10) << (double)(x) << endl
#define REP(i,a,n) for(int i=(a); i<(int)(n); i++)
#define RREP(i,a,n) for(int i=(int)(n-1); i>= a; i--)
#define rep(i,n) REP(i,0,n)
#define rrep(i,n) RREP(i,0,n)
#define all(a) begin((a)),end((a))
#define mp make_pair
#define exist(container, n) ((container).find((n)) != (container).end())
#define substr(s,i,l) string((s), (i), (l))
#define tos(x) (to_string((x)))
#ifdef _DEBUG //ファイルからテストデータを読み込む
std::ifstream ifs("data.txt");
#define put ifs >>
#else //いい感じにやる
#define put cin >>
#endif
#pragma endregion
//デバッグなどの支援
#pragma region CODING_SUPPORT
#define dbg(var0) { std::cerr << ( #var0 ) << "=" << ( var0 ) << endl; }
#define dbg2(var0, var1) { std::cerr << ( #var0 ) << "=" << ( var0 ) << ", "; dbg(var1); }
#define dbg3(var0, var1, var2) { std::cerr << ( #var0 ) << "=" << ( var0 ) << ", "; dbg2(var1, var2); }
#define dbgArray(a,n) {std::cerr << (#a) << "=";  rep(i,n){std::cerr <<(a[i])<<",";} cerr<<endl;} 
#ifndef _DEBUG
#define dbg1 {}
#define dbg2 {}
#define dbg3 {}
#define dbgArray {}
#endif 
#pragma endregion 
//typedef(書き換える、書き足す可能性ある)
#pragma region TYPE_DEF
typedef long long ll;
typedef pair<int, int> pii; typedef pair<string, string> pss; typedef pair<int, string>pis;
typedef vector<string> vs; typedef vector<int> vi;
#pragma endregion
//諸々の定数(書き換える可能性ある)
#pragma region CONST_VAL
#define PI (2*acos(0.0))
#define EPS (1e-9)
#define MOD (ll)(1e9 + 7)
#define INF (ll)(1e9)
#pragma endregion

//vector<string> split(const string& input, char delimiter) {
//	istringstream stream(input); string field; vector<string> result;
//	while (getline(stream, field, delimiter))result.push_back(field);
//	return result;
//}


ll gcd(ll x, ll y) { if (y == 0) return x; gcd(y, x% y); }
ll lcm(ll a, ll b) { return a * b / gcd(a, b); };

int main() {
	ll n, d; put n >> d;
	ll k;
	if (n == d) {
		putans(0);
		goto END;
	}
	k = gcd(n, d);
	putans(( (n / k) - 1 ));

END:
	return 0;
}

//おばかちん
 //string from = "hamu";
 //string to = "1";
 //str = allReplace(str, from, to);
 //from = "ham";
 //to = "0";
 //str = allReplace(str, from, to);
 //int x = 0;
 //int bin = 1;
 //RREP(i, 0, str.size()) {
 //	if (str[i] == '1') x += bin;
 //	bin *= 2;
 //}
0