結果
問題 | No.982 Add |
ユーザー | ok |
提出日時 | 2020-02-11 13:42:12 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 976 bytes |
コンパイル時間 | 753 ms |
コンパイル使用メモリ | 81,900 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-01 07:23:51 |
合計ジャッジ時間 | 1,442 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include<iostream> #include<string> #include<iomanip> #include<cmath> #include<vector> #include<algorithm> using namespace std; #define int long long #define endl "\n" constexpr long long INF = (long long)1e18; constexpr long long MOD = 1'000'000'007; string yn(bool f){return f?"Yes":"No";} string YN(bool f){return f?"YES":"NO";} signed main(){ cin.tie(nullptr); ios::sync_with_stdio(false); cout<<fixed<<setprecision(10); const int MAX = 110000; int A, B, con = 0, LCM; vector<int> hoge(MAX); cin>>A>>B; // LCM = A/__gcd(A,B) * B; hoge[0] = true; for(int i = 0; i < MAX; i++){ if(hoge[i] == true && i + A < MAX) hoge[i + A] = true; } for(int i = 0; i < MAX; i++){ if(hoge[i] == true && i + B < MAX) hoge[i + B] = true; } for(int i = 1; i < MAX; i++){ if(!hoge[i]) con++; } // for(int i = 0; i < 500; i++){ // cout<<"i = "<<i<<" "<<hoge[i]<<endl; // } if(__gcd(A,B) == 1)cout<<con<<endl; else cout<<-1<<endl; return 0; }