結果
| 問題 |
No.1119 Division 3
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-07-23 00:34:26 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 9,157 bytes |
| コンパイル時間 | 774 ms |
| コンパイル使用メモリ | 97,892 KB |
| 最終ジャッジ日時 | 2025-01-12 04:02:31 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 16 |
ソースコード
/**
* code generated by JHelper
* More info: https://github.com/AlexeyDmitriev/JHelper
* @author zjsdut
*/
#define NDEBUG
extern constexpr bool show_all_failed_tests = false;
#ifndef CP_UTILS
#define CP_UTILS
#include <algorithm>
#include <bitset>
#include <climits>
#include <cmath>
#include <cstring>
#include <map>
#include <numeric>
#include <set>
//
// Created by zjsdu on 5/28/2020.
//
#ifndef JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_
#define JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_
#include <string>
#include <cassert>
#include <queue>
#ifndef JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_
#define JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_
#include <iostream>
#include <vector>
#include <tuple>
struct fast_ios {
fast_ios() {
std::cin.tie(nullptr);
std::ios::sync_with_stdio(false);
std::cout.precision(10);
std::cout << std::fixed;
};
} fast_ios_;
namespace io {
template<typename... Ts>
std::istream &operator>>(std::istream &in, std::tuple<Ts...> &t);
template<typename T, typename U>
std::istream &operator>>(std::istream &in, std::pair<T, U> &p) {
in >> p.first >> p.second;
return in;
}
template<typename T>
std::istream &operator>>(std::istream &stream, std::vector<T> &vec) {
for (auto &x : vec)
stream >> x;
return stream;
}
template<typename... Ts>
std::istream &operator>>(std::istream &in, const std::tuple<Ts...> &t) {
std::apply([&in](auto &... args) { ((in >> args), ...); }, t);
return in;
}
template<class... Args> void scan(Args &... args) {
((std::cin >> args), ...);
}
template<typename T>
std::ostream &operator<<(std::ostream &out, const std::vector<T> &vec) {
bool first = true;
for (const T &t : vec) {
if (first)
first = false;
else
out << ' ';
out << t;
}
return out;
}
template<typename T, typename U>
std::ostream &operator<<(std::ostream &out, const std::pair<T, U> &p) {
out << p.first << ' ' << p.second;
return out;
}
template<typename T>
std::ostream &operator<<(std::ostream &out,
const std::vector<std::vector<T>> &t) {
bool is_first = true;
for (const auto &row : t) {
if (is_first)
is_first = false;
else
out << '\n';
out << row;
}
return out;
}
template<typename... Args> void pt(Args &&... args) {
((std::cout << args << ' '), ...);
}
template<typename First, typename... Args>
void pl(const First &first, const Args &... args) {
std::cout << first;
((std::cout << ' ' << args), ...);
std::cout << '\n';
}
template<typename... Args> void pn(const Args &... args) {
((std::cout << args << '\n'), ...);
}
}// namespace io
inline int ri() {
int x;
std::cin >> x;
return x;
}
#endif// JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_
using ll = long long;
using ull = unsigned long long;
using vl = std::vector<ll>;
using vb = std::vector<bool>;
using vi = std::vector<int>;
using vs = std::vector<std::string>;
using pii = std::pair<int, int>;
using pli = std::pair<ll, int>;
using pil = std::pair<int, ll>;
using pll = std::pair<ll, ll>;
using vii = std::vector<pii>;
template<typename T, typename U = std::less<T>>
using pq = std::priority_queue<T, std::vector<T>, U>;
template<typename... Ts> using vt = std::vector<std::tuple<Ts...>>;
template<typename T> class vv {
std::vector<std::vector<T>> data;
public:
explicit vv(int n) {
assert(n > 0);
data.assign(n, std::vector<T>{});
}
vv(int n, int m, T init = T{}) {
assert(n > 0 && m > 0);
data.assign(n, std::vector<T>(m, init));
}
std::vector<T> &operator[](size_t i) {
assert(i < data.size());
return data[i];
}
void fill(T val) {
for (auto &row : data)
std::fill(row.begin(), row.end(), val);
}
friend std::istream &operator>>(std::istream &in, vv<T> &val) {
return io::operator>>(in, val.data);
}
friend std::ostream &operator<<(std::ostream &out, const vv<T> &val) {
return io::operator<<(out, val.data);
}
friend auto begin(vv<T> &val) { return val.data.begin(); }
friend auto end(vv<T> &val) { return val.data.end(); }
friend auto rbegin(vv<T> &val) { return val.data.rbegin(); }
friend auto rend(vv<T> &val) { return val.data.rend(); }
};
#define TOKENPASTE(x, y) x##y
#define TOKENPASTE2(x, y) TOKENPASTE(x, y)
#define rng3(i, a, b) \
for (std::common_type<decltype(a), decltype(b)>::type \
i = a, \
TOKENPASTE2(r_end_, __LINE__) = b; \
i < TOKENPASTE2(r_end_, __LINE__); ++i)
#define rng2(i, n) rng3(i, 0, n)
#define GET_MACRO(_1, _2, _3, NAME, ...) NAME
#define rng(...) GET_MACRO(__VA_ARGS__, rng3, rng2)(__VA_ARGS__)
#define up(i, a, b) \
for (std::common_type<decltype(a), decltype(b)>::type \
i = a, \
TOKENPASTE2(r_end_, __LINE__) = b; \
i <= TOKENPASTE2(r_end_, __LINE__); ++i)
#define down(i, b, a) \
for (std::common_type<decltype(a), decltype(b)>::type \
i = b, \
TOKENPASTE2(r_end_, __LINE__) = a; \
i >= TOKENPASTE2(r_end_, __LINE__); --i)
#define rep(n) \
for (auto TOKENPASTE2(_iter_, __LINE__) = n; \
TOKENPASTE2(_iter_, __LINE__) > 0; --TOKENPASTE2(_iter_, __LINE__))
#define FOR(x, cont) for (const auto &x : cont)
#define For(x, cont) for (auto &x : cont)
#define ALL(x) begin(x), end(x)
// hat off to 300iq
#define RALL(x) rbegin(x), rend(x)
#define pb push_back
#define mp make_pair
#define eb emplace_back
#define ep emplace
#define SZ(x) (int) (x).size()
#define rp(...) return pl(__VA_ARGS__)
#define rpn(...) return pn(__VA_ARGS__)
#define adv(i, n) \
for (auto TOKENPASTE2(_n_, __LINE__) = n; i < TOKENPASTE2(_n_, __LINE__); ++i)
#define INT(...) int __VA_ARGS__; scan(__VA_ARGS__)
#define LL(...) long long __VA_ARGS__; scan(__VA_ARGS__)
#define STR(...) std::string __VA_ARGS__; scan(__VA_ARGS__)
#endif// JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_
inline void Yn(bool p) {
std::cout << (p ? "Yes\n" : "No\n");
}
inline void YN(bool p) {
std::cout << (p ? "YES\n" : "NO\n");
}
inline void yn(bool p) {
std::cout << (p ? "yes\n" : "no\n");
}
template<typename T> T &inc(T &cont) {
for (auto &e : cont)
++e;
return cont;
}
template<typename T> T &dec(T &cont) {
for (auto &e : cont)
--e;
return cont;
}
template<typename A, typename B> bool chkmin(A &a, const B &b) {
return b < a ? a = b, true : false;
}
template<typename A, typename B> bool chkmax(A &a, const B &b) {
return a < b ? a = b, true : false;
}
template<typename T> struct reversion_wrapper { T &iterable; };
template<typename T> auto begin(reversion_wrapper<T> w) {
using std::rbegin;
return rbegin(w.iterable);
}
template<typename T> auto end(reversion_wrapper<T> w) {
using std::rend;
return rend(w.iterable);
}
template<typename T> reversion_wrapper<T> reverse(T &&iterable) {
return {iterable};
}
template<typename T, typename U> T ceil(T x, U y) {
assert(y > 0);
if (x > 0)
x += y - 1;
return x / y;
}
template<typename T, typename U> T floor(T x, U y) {
assert(y > 0);
if (x < 0)
x -= y - 1;
return x / y;
}
template<class...> struct typelist {};
template<class T, class... Ts>
constexpr bool any_same = (std::is_same_v<T, Ts> || ...);
template<class F> struct y_combinator {
template<class... TLs> struct ref {
y_combinator &self;
template<class... Args> decltype(auto) operator()(Args &&... args) const {
using G = std::conditional_t<any_same<typelist<Args...>, TLs...>,
ref<TLs...>, ref<TLs..., typelist<Args...>>>;
return self.f(G{self}, std::forward<Args>(args)...);
}
};
F f;
template<class... Args> decltype(auto) operator()(Args &&... args) {
return ref<>{*this}(std::forward<Args>(args)...);
}
};
template<class F> y_combinator(F) -> y_combinator<F>;
#ifndef debug
#define debug(...) 42
#endif
#ifndef show
#define show(...) 42
#endif
using namespace io;
using namespace std;
#endif// CP_UTILS
void solve() {
INT (a, b, c);
Yn(a%3==0||b%3==0||c%3==0);
}
/*
* Make sure that your laptop is plugged in or the build may be slow.
*
* Don't settle for a solution if it feels too clunky, take a moment and see if
* you can make it simpler.
*/
int main() {
solve();
return 0;
}