結果
| 問題 |
No.1352 Three Coins
|
| コンテスト | |
| ユーザー |
🐬hec
|
| 提出日時 | 2021-01-17 13:41:03 |
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 28 ms / 2,000 ms |
| コード長 | 1,873 bytes |
| コンパイル時間 | 5,737 ms |
| コンパイル使用メモリ | 138,552 KB |
| 実行使用メモリ | 19,072 KB |
| 最終ジャッジ日時 | 2024-12-23 09:31:31 |
| 合計ジャッジ時間 | 2,590 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 34 |
ソースコード
#include <algorithm>
#include <bitset>
#include <cmath>
#include <complex>
#include <cstdio>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <sys/types.h>
#include <unistd.h>
#include <vector>
#pragma region macros
#define _overload(_1, _2, _3, name, ...) name
#define _rep(i, n) _range(i, 0, n)
#define _range(i, a, b) for (int i = int(a); i < int(b); ++i)
#define rep(...) _overload(__VA_ARGS__, _range, _rep, )(__VA_ARGS__)
#define _rrep(i, n) _rrange(i, n, 0)
#define _rrange(i, a, b) for (int i = int(a) - 1; i >= int(b); --i)
#define rrep(...) _overload(__VA_ARGS__, _rrange, _rrep, )(__VA_ARGS__)
#pragma endregion macros
using namespace std;
template <class T> bool chmax(T &a, const T &b) {
return (a < b) ? (a = b, 1) : 0;
}
template <class T> bool chmin(T &a, const T &b) {
return (b < a) ? (a = b, 1) : 0;
}
using ll = long long;
using R = long double;
const R EPS = 1e-9L; // [-1000,1000]->EPS=1e-8 [-10000,10000]->EPS=1e-7
inline int sgn(const R &r) {
return (r > EPS) - (r < -EPS);
}
inline R sq(R x) {
return sqrt(max(x, 0.0L));
}
const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
const int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};
const pid_t pid = getpid();
// Problem Specific Parameter:
const int limit = 4000010;
int memo[limit];
int main(void) {
int a, b, c;
cin >> a >> b >> c;
const ll g = gcd(gcd(a, b), c);
if (g != 1) {
puts("INF");
return 0;
}
memo[0] = 1;
int ans = 0;
rep(i, limit) {
if (i - a >= 0) {
memo[i] |= memo[i - a];
}
if (i - b >= 0) {
memo[i] |= memo[i - b];
}
if (i - c >= 0) {
memo[i] |= memo[i - c];
}
ans += (memo[i] == 0);
}
cout << ans << endl;
return 0;
}
🐬hec