結果
問題 | No.1486 ロボット |
ユーザー | algon_320 |
提出日時 | 2021-04-23 21:29:29 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 18 ms / 2,000 ms |
コード長 | 4,391 bytes |
コンパイル時間 | 1,622 ms |
コンパイル使用メモリ | 167,440 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-04 07:38:17 |
合計ジャッジ時間 | 2,453 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,812 KB |
testcase_01 | AC | 3 ms
6,940 KB |
testcase_02 | AC | 2 ms
6,944 KB |
testcase_03 | AC | 2 ms
6,940 KB |
testcase_04 | AC | 2 ms
6,944 KB |
testcase_05 | AC | 2 ms
6,940 KB |
testcase_06 | AC | 18 ms
6,940 KB |
testcase_07 | AC | 18 ms
6,944 KB |
testcase_08 | AC | 10 ms
6,944 KB |
testcase_09 | AC | 2 ms
6,944 KB |
testcase_10 | AC | 3 ms
6,944 KB |
testcase_11 | AC | 3 ms
6,944 KB |
testcase_12 | AC | 2 ms
6,940 KB |
testcase_13 | AC | 2 ms
6,944 KB |
testcase_14 | AC | 11 ms
6,940 KB |
testcase_15 | AC | 3 ms
6,944 KB |
testcase_16 | AC | 4 ms
6,940 KB |
testcase_17 | AC | 5 ms
6,944 KB |
testcase_18 | AC | 4 ms
6,940 KB |
testcase_19 | AC | 3 ms
6,940 KB |
ソースコード
#include <bits/stdc++.h> using namespace std; #define int long long #define stoi stoll using pii = pair<int, int>; using vi = vector<int>; using vvi = vector<vi>; using vb = vector<bool>; using vvb = vector<vb>; template <class T> using heap = priority_queue<T, deque<T>, greater<T>>; #define all(c) begin(c), end(c) #define rall(c) rbegin(c), rend(c) #define fore(x, c) for (auto &&x : c) #define rep(i, a, n) for (int i = (int)(a), i##len = (int)(n); i < i##len; ++i) #define rrep(i, a, n) for (int i = (int)(n - 1); i >= a; --i) #define pb push_back #define eb emplace_back #define dump(...) const signed INF_ = 1001001001; const long long INF = 1001001001001001001LL; const int DX[9] = {0, 1, 0, -1, 1, 1, -1, -1, 0}, DY[9] = {-1, 0, 1, 0, -1, 1, 1, -1, 0}; template <class C> int sz(const C &c) { return (int)c.size(); } template <class C, class T> bool contains(const C &c, const T &v) { return c.find(v) != c.end(); } template <class T> bool inseg(const T &l, const T &x, const T &r) { return l <= x && x < r; } template <class T, class U> ostream &operator<<(ostream &os, const pair<T, U> &p) { return os << p.first << " " << p.second; } template <class T, class U> istream &operator>>(istream &is, pair<T, U> &p) { return is >> p.first >> p.second; } template <class T, class C> ostream &ostream_container_impl(ostream &os, const C &v) { if (v.empty()) return os; auto itr = begin(v), prv = prev(end(v)); while (itr != prv) os << *itr++ << " "; return os << *prv; } template <class T> ostream &operator<<(ostream &os, const vector<T> &v) { return ostream_container_impl<T>(os, v); } template <class T> ostream &operator<<(ostream &os, const deque<T> &v) { return ostream_container_impl<T>(os, v); } template <class T> ostream &operator<<(ostream &os, const set<T> &v) { return ostream_container_impl<T>(os, v); } template <class T> istream &operator>>(istream &is, vector<T> &v) { for (auto &x : v) is >> x; return is; } template <class T, class U> bool chmax(T &a, const U &b) { return a < b ? a = b, 1 : 0; } template <class T, class U> bool chmin(T &a, const U &b) { return a > b ? a = b, 1 : 0; } template <class T> void psum(T &c) { partial_sum(begin(c), end(c), begin(c)); } template <class T> void decrement(T &x) { x -= 1; } template <class T, class U> void decrement(pair<T, U> &p) { decrement(p.first); decrement(p.second); } template <class T> void decrement(vector<T> &v) { for (auto &x : v) decrement(x); } template <class T> void increment(T &x) { x += 1; } template <class T, class U> void incrment(pair<T, U> &p) { increment(p.first); increment(p.second); } template <class T> void increment(vector<T> &v) { for (auto &x : v) increment(x); } #if defined(LOCAL) void dump_impl(string s) { assert(s.empty()); } template <class H, class... T> void dump_impl(string s, const H &head, const T &...tail) { int par = 0; rep(i, 0, sz(s)) { char ch = s[i]; if (ch == ',' && par == 0) { cerr << " = " << head << ","; dump_impl(s.substr(i + 1), tail...); return; } else { cerr << ch; if (ch == '(') par++; if (ch == ')') par--; } } } #ifdef dump #undef dump #endif #define dump(...) \ do { \ cerr << "\x1b[33;1m"; \ dump_impl(#__VA_ARGS__ ",", __VA_ARGS__); \ cerr << "\x1b[0m" << endl; \ } while (0) #endif struct before_main_function { before_main_function() { #if defined(LOCAL) && defined(int) cerr << "\x1b[7m" << "'int' is 'long long'" << "\x1b[m" << endl; #endif cin.tie(nullptr); ios::sync_with_stdio(false); cout << setprecision(15) << fixed; } } before_main_function; //------------------8<------------------------------------8<-------------------- int gcd(int a, int b) { return a ? gcd(b % a, a) : b; } int lcm(int a, int b) { return a / gcd(a, b) * b; } signed main() { int A, B, C, D, E; cin >> A >> B >> C >> D >> E; int L = lcm(A + B, C + D); int M = E % L; int ans = 0; rep(t, 0, L) { int c = 0; if (t % (A + B) < A) c++; if (t % (C + D) < C) c++; if (c == 2) ans++; } ans = E / L * ans; rep(t, 0, M) { int c = 0; if (t % (A + B) < A) c++; if (t % (C + D) < C) c++; dump(t, c); if (c == 2) ans++; } cout << ans << endl; }