結果
問題 | No.982 Add |
ユーザー |
|
提出日時 | 2020-03-09 13:19:00 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,011 bytes |
コンパイル時間 | 1,856 ms |
コンパイル使用メモリ | 167,364 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 21:02:06 |
合計ジャッジ時間 | 2,678 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include "bits/stdc++.h"using namespace std;typedef long long int ll;typedef pair<ll, ll > pi;typedef pair<pair<ll, ll >, ll > pii;vector<ll > vec;vector<vector<ll > > vec2;ll MOD = 1000000007;ll INF = 1145141919454519;//互いに素な整数同士はax+by=Nであらゆる整数を作れちゃう//https://examist.jp/mathematics/integer/axby-kouzou///(1)aとbが互いに素(GCDが1)のときab+1以上の全ての自然数(1,2,3...)Nはax+byで表せれる//(1)のとき表せない最大の自然数はab//(a-1)(b-1)以上の全ての自然数Nは0以上の整数でax+byで表せれるll gcd(ll a, ll b){if(b == 0){return a;}return gcd(b, a % b);}int main(){ll A, B;cin >> A >> B;//非負整数(0以上の整数)//つまり(a-1)(b-1)以上の整数は全て作れる//作れない整数はaとbの倍数を除いたものif(gcd(A, B) == 1){cout << (A-1)*(B-1)/2 << endl;}else{cout << -1 << endl;}}