結果
問題 | No.982 Add |
ユーザー |
![]() |
提出日時 | 2020-02-11 13:46:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,031 bytes |
コンパイル時間 | 1,551 ms |
コンパイル使用メモリ | 169,432 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-01 07:25:43 |
合計ジャッジ時間 | 2,041 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include "bits/stdc++.h"using namespace std;#define int long long#define REP(i,n) for(int i = 0;i < (int)(n);i++)#define RREP(i,n) for(int i = (int)n-1;i >= 0;i--)#define FOR(i,s,n) for(int i = s;i < (int)n;i++)#define RFOR(i,s,n) for(int i = (int)n-1;i >= s;i--)#define ALL(a) a.begin(),a.end()template<class T>inline void out(T t){cout<<t<<"\n";}template<class T,class... Ts>inline void out(T t,Ts... ts){cout<<t<<" ";out(ts...);}template<class T>inline bool CHMAX(T&a,T b){if(a<b){a = b;return true;}return false;}template<class T>inline bool CHMIN(T&a,T b){if(a>b){a = b;return true;}return false;}constexpr long long INF = 1e18;int gcd(int x,int y){if(x==0) return y;return gcd(y%x,x);}int lcm(int x, int y){return (x * y / gcd(x, y));}signed main(){int A,B;cin >> A >> B;if(gcd(A,B) != 1){out(-1);return 0;}vector<int>dp(A*B+1);dp[0] = 1;REP(i,A*B+1){if(dp[i]&&i+A<A*B+1)dp[i+A]=1;}REP(i,A*B+1){if(dp[i]&&i+B<A*B+1)dp[i+B]=1;}out(A*B-(accumulate(ALL(dp),0)-1));}