結果
問題 | No.1352 Three Coins |
ユーザー |
![]() |
提出日時 | 2021-01-17 14:25:50 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 41 ms / 2,000 ms |
コード長 | 1,337 bytes |
コンパイル時間 | 1,422 ms |
コンパイル使用メモリ | 170,460 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-23 09:35:24 |
合計ジャッジ時間 | 2,765 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
ソースコード
#include <bits/stdc++.h>template<class T> inline bool chmin(T&a, T b){if(a > b){a = b; return true;}else{return false;}}template<class T> inline bool chmax(T&a, T b){if(a < b){a = b; return true;}else{return false;}}#define ll long long#define double long double#define rep(i,n) for(int i=0;i<(n);i++)#define REP(i,n) for(int i=1;i<=(n);i++)#define mod (ll)(1e9+7)#define inf (ll)(3e18+7)#define eps (double)(1e-9)#define pi (double) acos(-1)#define P pair<int,int>#define PiP pair<int,pair<int,int>>#define all(x) x.begin(),x.end()#define rall(x) x.rbegin(),x.rend()using namespace std;int main() {ll a, b, c;cin >> a >> b >> c;map<ll, ll> mpa, mpb;vector<ll> veca = {0}, vecb = {0};ll now;now = a;mpa[0] = 1; mpb[0] = 1;while(!mpa[now%c]){mpa[now%c] = 1;veca.push_back(now);now += a;}now = b;while(!mpb[now%c]){mpb[now%c] = 1;vecb.push_back(now);now += b;}vector<ll> ans(c, inf);rep(i, veca.size())rep(j, vecb.size()){ll m = (veca[i] + vecb[j]) % c;chmin(ans[m], veca[i]+vecb[j]);}ll sum = 0;bool ok = true;rep(i, c){if(ans[i] == inf)ok = false;else sum += ans[i]/c;}if(ok)cout << sum << endl;else cout << "INF" << endl;}