cp-documentation

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub zawa-tin/cp-documentation

:heavy_check_mark: Test/LC/aplusb.test.cpp

Depends on

Code

#define PROBLEM "https://judge.yosupo.jp/problem/aplusb"

#include "../../Src/Template/TypeAlias.hpp"
#include "../../Src/Algebra/Group/AdditiveGroup.hpp"

#include <iostream>

using namespace zawa;

int main() {
    i32 A, B;
    std::cin >> A >> B;
    i32 ans = AdditiveGroup<i32>::operation(A, B);
    std::cout << ans << std::endl;
}
#line 1 "Test/LC/aplusb.test.cpp"
#define PROBLEM "https://judge.yosupo.jp/problem/aplusb"

#line 2 "Src/Template/TypeAlias.hpp"

#include <cstdint>
#include <cstddef>

namespace zawa {

using i16 = std::int16_t;
using i32 = std::int32_t;
using i64 = std::int64_t;
using i128 = __int128_t;

using u8 = std::uint8_t;
using u16 = std::uint16_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;

using usize = std::size_t;

} // namespace zawa
#line 2 "Src/Algebra/Group/AdditiveGroup.hpp"

namespace zawa {

template <class T>
class AdditiveGroup {
public:
    using Element = T;
    static constexpr T identity() noexcept {
        return T{};
    }
    static constexpr T operation(const T& l, const T& r) noexcept {
        return l + r;
    }
    static constexpr T inverse(const T& v) noexcept {
        return -v;
    }
};

} // namespace zawa
#line 5 "Test/LC/aplusb.test.cpp"

#include <iostream>

using namespace zawa;

int main() {
    i32 A, B;
    std::cin >> A >> B;
    i32 ans = AdditiveGroup<i32>::operation(A, B);
    std::cout << ans << std::endl;
}
Back to top page