From 9240a5fd8d074249f3dd48143f91c6e8dc3815f6 Mon Sep 17 00:00:00 2001 From: arielherself Date: Tue, 5 Mar 2024 18:35:37 +0800 Subject: [PATCH] backup --- src/bin/a.cc | 30 ++-- src/bin/a.out | Bin 217920 -> 1105616 bytes src/bin/b.cc | 45 +++--- src/bin/c.cc | 100 +++++++----- src/bin/cf-1513b.cc | 273 ++++++++++++++++++++++++++++++++ src/bin/cf-1696d.cc | 324 ++++++++++++++++++++++++++++++++++++++ src/bin/cf-1702g1.cc | 274 ++++++++++++++++++++++++++++++++ src/bin/cf-1717d.cc | 285 +++++++++++++++++++++++++++++++++ src/bin/cf-1731c.cc | 271 ++++++++++++++++++++++++++++++++ src/bin/cf-1746d.cc | 292 ++++++++++++++++++++++++++++++++++ "src/bin/cf-1746d.cc\\" | 238 ++++++++++++++++++++++++++++ src/bin/cf-1760g.cc | 296 +++++++++++++++++++++++++++++++++++ src/bin/cf-1777c.cc | 301 +++++++++++++++++++++++++++++++++++ src/bin/cf-1777d.cc | 337 ++++++++++++++++++++++++++++++++++++++++ src/bin/cf-1783c.cc | 276 ++++++++++++++++++++++++++++++++ src/bin/cf-1814b.cc | 275 ++++++++++++++++++++++++++++++++ src/bin/cf-1822g1.cc | 271 ++++++++++++++++++++++++++++++++ src/bin/cf-1826d.cc | 255 ++++++++++++++++++++++++++++++ src/bin/cf-1829h.cc | 285 +++++++++++++++++++++++++++++++++ src/bin/cf-1833f.cc | 279 +++++++++++++++++++++++++++++++++ src/bin/cf-1934a.cc | 257 ++++++++++++++++++++++++++++++ src/bin/cf-1934b.cc | 258 ++++++++++++++++++++++++++++++ src/bin/cf-1934c.cc | 304 ++++++++++++++++++++++++++++++++++++ src/bin/cf-1937a.cc | 239 ++++++++++++++++++++++++++++ src/bin/cf-1937b.cc | 290 ++++++++++++++++++++++++++++++++++ src/bin/cf-1937c.cc | 267 +++++++++++++++++++++++++++++++ src/bin/cf-1937d.cc | 320 ++++++++++++++++++++++++++++++++++++++ src/bin/d.cc | 100 +++++++++--- src/bin/std.in | 20 +-- src/bin/template.cc | 40 ++++- src/bin/test.cc | 36 ++++- src/bin/testgen.cc | 66 +------- 32 files changed, 6730 insertions(+), 174 deletions(-) create mode 100644 src/bin/cf-1513b.cc create mode 100644 src/bin/cf-1696d.cc create mode 100644 src/bin/cf-1702g1.cc create mode 100644 src/bin/cf-1717d.cc create mode 100644 src/bin/cf-1731c.cc create mode 100644 src/bin/cf-1746d.cc create mode 100644 "src/bin/cf-1746d.cc\\" create mode 100644 src/bin/cf-1760g.cc create mode 100644 src/bin/cf-1777c.cc create mode 100644 src/bin/cf-1777d.cc create mode 100644 src/bin/cf-1783c.cc create mode 100644 src/bin/cf-1814b.cc create mode 100644 src/bin/cf-1822g1.cc create mode 100644 src/bin/cf-1826d.cc create mode 100644 src/bin/cf-1829h.cc create mode 100644 src/bin/cf-1833f.cc create mode 100644 src/bin/cf-1934a.cc create mode 100644 src/bin/cf-1934b.cc create mode 100644 src/bin/cf-1934c.cc create mode 100644 src/bin/cf-1937a.cc create mode 100644 src/bin/cf-1937b.cc create mode 100644 src/bin/cf-1937c.cc create mode 100644 src/bin/cf-1937d.cc diff --git a/src/bin/a.cc b/src/bin/a.cc index 35a741e..03bac74 100644 --- a/src/bin/a.cc +++ b/src/bin/a.cc @@ -7,10 +7,7 @@ */ #include -#include using namespace std; -using namespace __gnu_cxx; -using namespace __gnu_pbds; /* macro helpers */ #define __NARGS(...) std::tuple_size::value @@ -128,7 +125,22 @@ template void __read(T& x, U&... args) { cin >> x; __ #define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) #define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) #define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) -template ostream& operator<<(ostream& out, vector vec) { +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { for (auto&& i : vec) out << i << ' '; return out; } @@ -217,12 +229,10 @@ void prep() {} void solve() { read(int, n); - ll res = 0; - for (int i =0; i < n; ++i) { - read(int, x); - res += abs(x); - } - cout << res << endl; + readvec(int, a, n); + int res = 0; + sort(a.begin(), a.end()); + cout << (a[n-1] - a[0]) + (a[n-1] - a[1]) + (a[n-2] - a[0]) + (a[n-2] - a[1]) << endl; } int main() { diff --git a/src/bin/a.out b/src/bin/a.out index 3fcb4cef34d5e374df33662a2ec7611b1c3c46e6..d80e58a58635a68966b0ca35a52bd034601f2a58 100755 GIT binary patch literal 1105616 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

hSJHWU5)hR>)Rdk| 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 z
  • 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

    J>CFiz#<@rgJ#aNjLKB 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 literal 217920 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 diff --git a/src/bin/b.cc b/src/bin/b.cc index a630e85..e7b8bb7 100644 --- a/src/bin/b.cc +++ b/src/bin/b.cc @@ -7,10 +7,7 @@ */ #include -#include using namespace std; -using namespace __gnu_cxx; -using namespace __gnu_pbds; /* macro helpers */ #define __NARGS(...) std::tuple_size::value @@ -128,7 +125,22 @@ template void __read(T& x, U&... args) { cin >> x; __ #define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) #define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) #define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) -template ostream& operator<<(ostream& out, vector vec) { +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { for (auto&& i : vec) out << i << ' '; return out; } @@ -215,28 +227,13 @@ void dump() {} void prep() {} +constexpr int table[] = {0, 1, 2, 1, 2, 3, 1, 2, 3, 2, 1, 2, 2, 2, 3, 1, 2, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 3, 4, 2}; void solve() { read(int, n); - readvec(int, a, n); - ll sum = accumulate(a.begin(), a.end(), ll(0)); - if (sum % 3 == 0) { - cout << "0\n"; - } else if (sum % 3 == 1) { - int f = 0; - for (int i = 0; i < n; ++i) { - if (a[i] % 3 == 1) { - f = 1; - break; - } - } - if (f == 1) { - cout << "1\n"; - } else { - cout << "2\n"; - } - } else { - cout << "1\n"; - } + int res = INT_MAX; + int k = max(0, n / 15 - 1); + n -= k * 15; + cout << k + table[n] << endl; } int main() { diff --git a/src/bin/c.cc b/src/bin/c.cc index f65fa75..b588d12 100644 --- a/src/bin/c.cc +++ b/src/bin/c.cc @@ -7,10 +7,7 @@ */ #include -#include using namespace std; -using namespace __gnu_cxx; -using namespace __gnu_pbds; /* macro helpers */ #define __NARGS(...) std::tuple_size::value @@ -128,7 +125,22 @@ template void __read(T& x, U&... args) { cin >> x; __ #define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) #define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) #define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) -template ostream& operator<<(ostream& out, vector vec) { +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { for (auto&& i : vec) out << i << ' '; return out; } @@ -215,43 +227,59 @@ void dump() {} void prep() {} -set decompose_all(int x) { - int sq = sqrt(x); - set res; - for (int i = 1; i <= sq; ++i) { - if (x % i == 0) { - res.insert(i); - res.insert(x / i); - } - } - return res; -} - void solve() { - read(int, a, b, l); - set factors = decompose_all(l); - int res = 0; - vector powa(21), powb(21); - powa[0] = powb[0] = 1; - for (int i = 1; i <= 20; ++i) { - if (powa[i-1] && powa[i-1] * a <= 1e6) - powa[i] = powa[i-1] * a; - if (powb[i-1] && powb[i-1] * b <= 1e6) - powb[i] = powb[i-1] * b; - } - for (auto&& f : factors) { - for (int i = 0; i <= 20; ++i) { - for (int j = 0; j <= 20; ++j) { - if (f * powa[i] * powb[j] == l) { - res += 1; - goto fi; + read(ll, n, m); + auto intersect = [&] (const pll& a, const pll& b) -> pll { + auto [k1, b1] = a; + auto [k2, b2] = b; + if (k1 != k2 && (k2 * b1 - k1 * b2) % (k2 - k1) == 0) { + ll y = (k2 * b1 - k1 * b2) / (k2 - k1); + ll x = (y - b1) / k1; + if (x >= 1 && x <= n && y >= 1 && y <= m) + return {x, y}; + else + return {-1, -1}; + } else { + return {-1, -1}; + } + }; + vector lines; + cout << "? 1 1" << endl; + read(ll, t1); + lines.emplace_back(-1, t1 + 2); + cout << "? 1 " << m << endl; + read(ll, t2); + lines.emplace_back(1, m - t2 - 1); + auto [x1, y1] = intersect(lines[0], lines[1]); + if (x1 == -1) { + cout << "? " << n << " 1" << endl; + read(ll, t3); + lines.emplace_back(1, t3 - n + 1); + auto [x, y] = intersect(lines[0], lines[2]); + cout << "! " << x << ' ' << y << endl; + } else { + cout << "? " << x1 << ' ' << y1 << endl; + read(ll, t3); + if (t3 == 0) { + cout << "! " << x1 << ' ' << y1 << endl; + } else { + ll x2 = x1 + t3 / 2, y2 = y1 - t3 / 2; + ll x3 = x1 + t3 / 2, y3 = y1 + t3 / 2; + if (y2 <= 0) { + cout << "! " << x3 << ' ' << y3 << endl; + } else if (y3 > m) { + cout << "! " << x2 << ' ' << y2 << endl; + } else { + cout << "? " << x2 << ' ' << y2 << endl; + read(ll, t4); + if (t4 == 0) { + cout << "! " << x2 << ' ' << y2 << endl; + } else { + cout << "! " << x3 << ' ' << y3 << endl; } } } - fi: - ;; } - cout << res << endl; } int main() { diff --git a/src/bin/cf-1513b.cc b/src/bin/cf-1513b.cc new file mode 100644 index 0000000..c9b667b --- /dev/null +++ b/src/bin/cf-1513b.cc @@ -0,0 +1,273 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ll MDL = 1e9 + 7; +constexpr ll PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + readvec(int, a, n); + int all = 0xffffffff; + for (int i = 0; i < n; ++i) all &= a[i]; + ll fact = 1; + for (int i = 1; i <= n - 2; ++i) fact = (fact * i) % MDL; + ll cnt = count(a.begin(), a.end(), all); + cout << ((((ll(1) * cnt * (cnt - 1)) % MDL) * fact) % MDL) << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1696d.cc b/src/bin/cf-1696d.cc new file mode 100644 index 0000000..3514013 --- /dev/null +++ b/src/bin/cf-1696d.cc @@ -0,0 +1,324 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ll MDL = 1e9 + 7; +constexpr ll PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +template> struct sparse_table { + _Op op; + vector> st; + template + sparse_table(ReverseIterator __first, ReverseIterator __last, _Op&& __operation) { + op = __operation; + int n = distance(__first, __last); + st = vector>(n, vector<_Tp>(int(log2(n) + 1))); + int i = n - 1; + for (auto it = __first; it != __last; ++it) { + st[i][0] = *it; + for (int j = 1; i + (1 << j) <= n; ++j) { + st[i][j] = op(st[i][j - 1], st[i + (1 << (j - 1))][j - 1]); + } + i -= 1; + } + } + _Tp query(size_t __start, size_t __end) { + int s = lg2(__end - __start + 1); + return op(st[__start][s], st[__end - (1 << s) + 1][s]); + } +}; +void solve() { + read(int, n); + readvec(int, a, n); + auto cmp = [&] (const int& i, const int& j) -> int { + if (a[i] > a[j]) { + return j; + } else { + return i; + } + }; + auto cmpm = [&] (const int& i, const int& j) -> int { + if (a[i] < a[j]) { + return j; + } else { + return i; + } + }; + vector idx(n); + iota(idx.begin(), idx.end(), 0); + sparse_table st(idx.rbegin(), idx.rend(), cmp); + sparse_table stm(idx.rbegin(), idx.rend(), cmpm); + vector dis(n, INF); + dis[0] = 0; + deque q, qm; + q.push_back(0); + qm.push_back(0); + for (int i = 1; i < n; ++i) { + while (q.size() && a[q.back()] < a[i]) q.pop_back(); + int pos = q.size() ? q.back() + 1 : 0; + int mn_pos = st.query(pos, i); + dis[i] = min(dis[i], dis[mn_pos] + 1); + while (qm.size() && a[qm.back()] > a[i]) qm.pop_back(); + int posm = qm.size() ? qm.back() + 1 : 0; + int mx_pos = stm.query(posm, i); + dis[i] = min(dis[i], dis[mx_pos] + 1); + q.push_back(i), qm.push_back(i); + } + cout << dis[n - 1] << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1702g1.cc b/src/bin/cf-1702g1.cc new file mode 100644 index 0000000..53c3b0c --- /dev/null +++ b/src/bin/cf-1702g1.cc @@ -0,0 +1,274 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +#define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + adj(ch, n); + for (int i = 0; i < n - 1; ++i) { + read(int, u, v); + edge(ch, u, v); + } + read(int, q); + while (q--) { + read(int, m); + unordered_set st; + for (int i = 0; i < m; ++i) { + read(int, x); + st.insert(x); + } + bool res = true; + auto dfs = [&] (auto dfs, int v, int pa) -> int { + int valid = 0, cnt = 0; + for (auto&& u : ch[v]) { + if (u == pa) continue; + int curr = dfs(dfs, u, v); + if (curr) valid += 1; + cnt += curr; + } + if (st.count(v)) cnt += 1; + // debug(v), debug(valid), debug(cnt); + if (valid > 2 || valid == 2 && cnt != st.size()) { + res = false; + } + return cnt; + }; + dfs(dfs, 1, 0); + if (res == true) { + cout << "YES\n"; + } else { + cout << "NO\n"; + } + } +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1717d.cc b/src/bin/cf-1717d.cc new file mode 100644 index 0000000..f2300a1 --- /dev/null +++ b/src/bin/cf-1717d.cc @@ -0,0 +1,285 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ll MDL = 1e9 + 7; +constexpr ll PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +#define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +ll fact[100010]; +void prep() { + fact[0] = 1; + for (int i = 1; i <= 100000; ++i) { + fact[i] = mod(fact[i - 1] * i, MDL); + } +} + +void solve() { + read(ll, n, k); + ll pw = 1; + for (int i = 0; i < n; ++i) { + pw = mod(pw * 2, MDL); + } + if (k >= n) { + cout << pw << endl; + } else { + ll mn = 0; + for (int i = k + 1; i <= n; ++i) { + mn = mod(mn + mod(mod(fact[n] * inverse(fact[i], MDL), MDL) * inverse(fact[n - i], MDL), MDL), MDL); + } + cout << mod(pw - mn, MDL) << endl; + } +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1731c.cc b/src/bin/cf-1731c.cc new file mode 100644 index 0000000..2e38c51 --- /dev/null +++ b/src/bin/cf-1731c.cc @@ -0,0 +1,271 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +int ct[262144]; + +void solve() { + read(int, n); + readvec(int, a, n); + ll exclude = 0; + vector ps(n + 1); + for (int i = 1; i <= n; ++i) { + ps[i] = ps[i-1] ^ a[i-1]; + } + int max_i2 = (1 << msp(*max_element(a.begin(), a.end())) + 1) - 1; + for (int i = 0; i * i <= max_i2; ++i) { + // count a[l] ^ ... ^ a[r] == i * i + for (int j = 0; j <= n; ++j) { + exclude += ct[ps[j] ^ (i * i)]; + ct[ps[j]] += 1; + } + for (int j = 0; j <= n; ++j) ct[ps[j]] -= 1; + } + cout << ll(n) * (n + 1) / 2 - exclude << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1746d.cc b/src/bin/cf-1746d.cc new file mode 100644 index 0000000..a0d393a --- /dev/null +++ b/src/bin/cf-1746d.cc @@ -0,0 +1,292 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n, k); + adj(ch, n); + for (int i = 2; i <= n; ++i) { + read(int, x); + edge(ch, x, i); + } + vector s(n + 1); + for (int i = 1; i <= n; ++i) { + cin >> s[i]; + } + unordered_map cache; + auto dfs = [&] (auto dfs, int v, int pa, int curr) -> ll { + if (cache.count({v, curr})) return cache[{v, curr}]; + ll ret = 0; + int ch_cnt = ch[v].size() - 1 + (v == 1); + if (ch_cnt == 0) { + ret = ll(curr) * s[v]; + } else { + int lb = curr / ch_cnt, ub = (curr + ch_cnt - 1) / ch_cnt; + int de = curr % ch_cnt; + priority_queue pq; + ll common_sum = 0; + for (auto&& u : ch[v]) { + if (u == pa) continue; + ll prior = dfs(dfs, u, v, ub); + ll common = dfs(dfs, u, v, lb); + pq.emplace(prior - common, u); + common_sum += common; + } + for (int i = 0; i < de; ++i) { + ret += pq.top().first; + pq.pop(); + } + ret += common_sum + ll(curr) * s[v]; + } + cache[{v, curr}] = ret; + return ret; + }; + ll res = dfs(dfs, 1, 0, k); + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git "a/src/bin/cf-1746d.cc\\" "b/src/bin/cf-1746d.cc\\" new file mode 100644 index 0000000..1ff12f9 --- /dev/null +++ "b/src/bin/cf-1746d.cc\\" @@ -0,0 +1,238 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1760g.cc b/src/bin/cf-1760g.cc new file mode 100644 index 0000000..75e369a --- /dev/null +++ b/src/bin/cf-1760g.cc @@ -0,0 +1,296 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n, a, b); + vector> e(n + 1); + for (int i = 0; i < n - 1; ++i) { + read(int, u, v, w); + e[u].emplace_back(v, w); + e[v].emplace_back(u, w); + } + unordered_set st, ed; + auto dfs1 = [&] (auto dfs1, int v, int fa, int dis) -> void { + st.insert(dis); + for (auto&& [u, w] : e[v]) { + if (u == fa || u == b) continue; + dfs1(dfs1, u, v, dis ^ w); + } + }; + auto dfs2 = [&] (auto dfs2, int v, int fa, int dis) -> void { + for (auto&& [u, w] : e[v]) { + if (u == fa) continue; + ed.insert(dis ^ w); + dfs2(dfs2, u, v, dis ^ w); + } + }; + dfs1(dfs1, a, a, 0); + dfs2(dfs2, b, b, 0); + for (auto&& x : st) { + if (ed.count(x)) { + cout << "YES\n"; + return; + } + } + cout << "NO\n"; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1777c.cc b/src/bin/cf-1777c.cc new file mode 100644 index 0000000..bf2a291 --- /dev/null +++ b/src/bin/cf-1777c.cc @@ -0,0 +1,301 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +vector> st(100010); +int slot[100010]; +void prep() { + for (int i = 1; i <= 100000; ++i) { + for (int j = 1; j * i <= 100000; ++j) { + st[j * i].push_back(i); + } + } +} + +void solve() { + read(int, n, m); + readvec(int, a, n); + sort(a.begin(), a.end()); + n = unique(a.begin(), a.end()) - a.begin(); + int r = -1; + int cnt = 0; + int res = INT_MAX; + for (int i = 0; i < n; ++i) { + while (cnt < m && r + 1 < n) { + r += 1; + for (auto&& x : st[a[r]]) { + if (x > m) break; + if (slot[x] == 0) cnt += 1; + slot[x] += 1; + } + } + if (cnt == m) res = min(res, a[r] - a[i]); + for (auto&& x : st[a[i]]) { + if (x > m) break; + slot[x] -= 1; + if (slot[x] == 0) cnt -= 1; + } + } + if (res == INT_MAX) { + cout << -1 << endl; + } else { + cout << res << endl; + } +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1777d.cc b/src/bin/cf-1777d.cc new file mode 100644 index 0000000..64dadc7 --- /dev/null +++ b/src/bin/cf-1777d.cc @@ -0,0 +1,337 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ll MDL = 1e9 + 7; +constexpr ll PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +ll pw[200010]; +void prep() { + pw[0] = 1; + for (int i = 1; i <= 200000; ++i) { + pw[i] = (pw[i-1] * 2) % MDL; + } +} + +void solve() { + read(int, n); + vector> ch(n + 1); + vector heavy(n + 1), layer(n + 1), sz(n + 1); + for (int i = 0; i < n - 1; ++i) { + read(int, u, v); + ch[u].push_back(v); + ch[v].push_back(u); + } + int mx_layer = 0; + auto prep = [&] (auto prep, int v, int pa, int l) -> void { + layer[v] = l; + mx_layer = max(mx_layer, l); + int t = -1, mx = -1; + int sum = 0; + for (auto&& u : ch[v]) { + if (u == pa) continue; + prep(prep, u, v, l + 1); + if (sz[u] > mx) { + t = u, mx = sz[u]; + } + sum += sz[u]; + } + heavy[v] = t; + sz[v] = sum + 1; + }; + prep(prep, 1, 0, 0); + vector slot(mx_layer + 1); + ll slot_ans = 0; + auto clear_slot = [&] (int i) -> void { + if (slot[i]) slot_ans = mod(slot_ans - pw[slot[i] - 1] * pw[n - slot[i]], MDL); + slot[i] = 0; + }; + auto update_slot = [&] (int i) -> void { + // add 1 to slot i + if (slot[i]) slot_ans = mod(slot_ans - pw[slot[i] - 1] * pw[n - slot[i]], MDL); + slot[i] += 1; + slot_ans = mod(slot_ans + pw[slot[i] - 1] * pw[n - slot[i]], MDL); + }; + ll res = 0; + auto dfs = [&] (auto dfs, int v, int pa, bool save, bool write) -> void { + if (write) { + for (auto&& u : ch[v]) { + if (u == pa || u == heavy[v]) continue; + dfs(dfs, u, v, false, true); + } + } + if (heavy[v] != -1) { + dfs(dfs, heavy[v], v, true, write); + } + for (auto&& u : ch[v]) { + if (u == pa || u == heavy[v]) continue; + dfs(dfs, u, v, true, false); + } + update_slot(layer[v]); + int right = min(mx_layer, layer[v] + sz[v]); + if (write) { + res = (res + slot_ans) % MDL; + } + if (!save) { + for (int i = layer[v]; i <= right; ++i) { + clear_slot(i); + } + } + }; + dfs(dfs, 1, 0, false, true); + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1783c.cc b/src/bin/cf-1783c.cc new file mode 100644 index 0000000..9cb9ed7 --- /dev/null +++ b/src/bin/cf-1783c.cc @@ -0,0 +1,276 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n, m); + readvec(int, a, n); + int res = n + 1; + if (m >= a[n - 1]) res = n - 1; + int sum = a[n - 1], mn = a[n - 1]; + for (int i = n - 1; i; --i) { + if (m - a[i - 1] >= sum - mn) res = i; + sum += a[i - 1], mn = min(mn, a[i - 1]); + } + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1814b.cc b/src/bin/cf-1814b.cc new file mode 100644 index 0000000..827d952 --- /dev/null +++ b/src/bin/cf-1814b.cc @@ -0,0 +1,275 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(ll, a, b); + auto check = [&] (int x) -> ll { + return x - 1 + (a + x - 1) / x + (b + x - 1) / x; + }; + ll res = LLONG_MAX; + for (int i = 1; i <= 1e6; ++i) { + res = min(res, check(i)); + } + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1822g1.cc b/src/bin/cf-1822g1.cc new file mode 100644 index 0000000..a085190 --- /dev/null +++ b/src/bin/cf-1822g1.cc @@ -0,0 +1,271 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + unordered_map ct; + while (n--) { + read(int, x); + ct[x] += 1; + } + ll res = 0; + for (auto [x, a] : ct) { + for (int i = 2; ll(i) * i * x <= 1e6; ++i) { + if (!ct.count(i * x) || !ct.count(i * i * x)) { + continue; + } + res += ll(a) * ct[i * x] * ct[i * i * x]; + } + } + for (auto [x, a] : ct) { + res += ll(a) * (a - 1) * (a - 2); + } + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1826d.cc b/src/bin/cf-1826d.cc new file mode 100644 index 0000000..5512c33 --- /dev/null +++ b/src/bin/cf-1826d.cc @@ -0,0 +1,255 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + readvec(int, a, n); + +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1829h.cc b/src/bin/cf-1829h.cc new file mode 100644 index 0000000..bbda064 --- /dev/null +++ b/src/bin/cf-1829h.cc @@ -0,0 +1,285 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n, k); + readvec(int, a, n); + vector> dp(n + 1, vector(64)); + for (int i = 1; i <= n; ++i) { + dp[i][a[i - 1]] = 1; + for (int m1 = 0; m1 < 64; ++m1) { + for (int m2 = 0; m2 < 64; ++m2) { + if ((a[i - 1] & m2) == m1) { + dp[i][m1] = (dp[i][m1] + dp[i-1][m2]) % MDL; + } + } + dp[i][m1] = (dp[i][m1] + dp[i-1][m1]) % MDL; + } + } + ll res = 0; + for (int i = 0; i < 64; ++i) { + if (popcount(i) == k) res = (res + dp[n][i]) % MDL; + } + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1833f.cc b/src/bin/cf-1833f.cc new file mode 100644 index 0000000..0a01f74 --- /dev/null +++ b/src/bin/cf-1833f.cc @@ -0,0 +1,279 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n, m); + readvec(int, a, n); + sort(a.begin(), a.end()); + vector ct; + int prev = 0; + for (int i = 0; i < n; ++i) { + if (a[i] == prev) { + ct.back().second += 1; + } else { + prev = a[i]; + ct.emplace_back(prev, 1); + } + } + ll res = 0, prod = 1; + int r = -1; + int s = ct.size(); + for (int i = 0; i + m - 1 < s; ++i) { + while (r < i + m - 1) { + r += 1; + prod = (prod * ct[r].second) % MDL; + } + if (ct[r].first - ct[i].first + 1 == m) { + res = (res + prod) % MDL; + } + prod = (prod * inverse(ct[i].second, MDL)) % MDL; + } + cout << res << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1934a.cc b/src/bin/cf-1934a.cc new file mode 100644 index 0000000..03bac74 --- /dev/null +++ b/src/bin/cf-1934a.cc @@ -0,0 +1,257 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + readvec(int, a, n); + int res = 0; + sort(a.begin(), a.end()); + cout << (a[n-1] - a[0]) + (a[n-1] - a[1]) + (a[n-2] - a[0]) + (a[n-2] - a[1]) << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1934b.cc b/src/bin/cf-1934b.cc new file mode 100644 index 0000000..e7b8bb7 --- /dev/null +++ b/src/bin/cf-1934b.cc @@ -0,0 +1,258 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +constexpr int table[] = {0, 1, 2, 1, 2, 3, 1, 2, 3, 2, 1, 2, 2, 2, 3, 1, 2, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 3, 4, 2}; +void solve() { + read(int, n); + int res = INT_MAX; + int k = max(0, n / 15 - 1); + n -= k * 15; + cout << k + table[n] << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1934c.cc b/src/bin/cf-1934c.cc new file mode 100644 index 0000000..b588d12 --- /dev/null +++ b/src/bin/cf-1934c.cc @@ -0,0 +1,304 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(ll, n, m); + auto intersect = [&] (const pll& a, const pll& b) -> pll { + auto [k1, b1] = a; + auto [k2, b2] = b; + if (k1 != k2 && (k2 * b1 - k1 * b2) % (k2 - k1) == 0) { + ll y = (k2 * b1 - k1 * b2) / (k2 - k1); + ll x = (y - b1) / k1; + if (x >= 1 && x <= n && y >= 1 && y <= m) + return {x, y}; + else + return {-1, -1}; + } else { + return {-1, -1}; + } + }; + vector lines; + cout << "? 1 1" << endl; + read(ll, t1); + lines.emplace_back(-1, t1 + 2); + cout << "? 1 " << m << endl; + read(ll, t2); + lines.emplace_back(1, m - t2 - 1); + auto [x1, y1] = intersect(lines[0], lines[1]); + if (x1 == -1) { + cout << "? " << n << " 1" << endl; + read(ll, t3); + lines.emplace_back(1, t3 - n + 1); + auto [x, y] = intersect(lines[0], lines[2]); + cout << "! " << x << ' ' << y << endl; + } else { + cout << "? " << x1 << ' ' << y1 << endl; + read(ll, t3); + if (t3 == 0) { + cout << "! " << x1 << ' ' << y1 << endl; + } else { + ll x2 = x1 + t3 / 2, y2 = y1 - t3 / 2; + ll x3 = x1 + t3 / 2, y3 = y1 + t3 / 2; + if (y2 <= 0) { + cout << "! " << x3 << ' ' << y3 << endl; + } else if (y3 > m) { + cout << "! " << x2 << ' ' << y2 << endl; + } else { + cout << "? " << x2 << ' ' << y2 << endl; + read(ll, t4); + if (t4 == 0) { + cout << "! " << x2 << ' ' << y2 << endl; + } else { + cout << "! " << x3 << ' ' << y3 << endl; + } + } + } + } +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1937a.cc b/src/bin/cf-1937a.cc new file mode 100644 index 0000000..0eadaf0 --- /dev/null +++ b/src/bin/cf-1937a.cc @@ -0,0 +1,239 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + cout << (1 << lg2(n)) << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1937b.cc b/src/bin/cf-1937b.cc new file mode 100644 index 0000000..2052fcc --- /dev/null +++ b/src/bin/cf-1937b.cc @@ -0,0 +1,290 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + vector> grid(n); + for (int i =0; i < n; ++i) { + read(char, c); + grid[i][0] = c; + } + for (int i = 0; i < n; ++i) { + read(char, c); + grid[i][1] = c; + } + int x = 0, y = 0; + ll rt = 1; + string res; + while (x < n && y < 2) { + res += grid[x][y]; + if (x == n - 1) { + y += 1; + continue; + } + if (y == 1) { + ++x; + continue; + } + int acc = 0, k = x + 1; + while (k <= n) { + if (k == n) { + for (int j = x + 1; j < n; ++j) { + res += grid[j][0]; + } + rt *= n - x; + x = n - 1, y = 1;; + break; + } + if (grid[k][0] == grid[k-1][1]) { + ++k; + } else { + if (grid[k][0] < grid[k-1][1]) { + for (int j = x + 1; j < k; ++j) { + res += grid[j][0]; + } + x = k; + } else { + for (int j = x + 1; j < k; ++j) { + res += grid[j][0]; + } + rt *= k - x; + x = k - 1, y = 1; + } + break; + } + } + } + cout << res << endl << rt << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1937c.cc b/src/bin/cf-1937c.cc new file mode 100644 index 0000000..f10a200 --- /dev/null +++ b/src/bin/cf-1937c.cc @@ -0,0 +1,267 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + // find max + int mx = 0; + for (int i = 1; i < n; ++i) { + cout << "? " << mx << ' ' << mx << ' ' << i << ' ' << i << endl; + read(char, c); + if (c == '<') mx = i; + } + // find or-max + vector cand; + int max_or = mx; + for (int i = 0; i < n; ++i) { + cout << "? " << mx << ' ' << max_or << ' ' << mx << ' ' << i << endl; + read(char, c); + if (c == '=') { + cand.push_back(i); + } else if (c == '<') { + max_or = i; + cand.clear(); + cand.push_back(i); + } + } + // find cand-min + int mn = cand[0]; + for (auto&& i : cand) { + cout << "? " << mn << ' ' << mn << ' ' << i << ' ' << i << endl; + read(char, c); + if (c == '>') mn = i; + } + cout << "! " << mx << ' ' << mn << endl; +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/cf-1937d.cc b/src/bin/cf-1937d.cc new file mode 100644 index 0000000..13d57bb --- /dev/null +++ b/src/bin/cf-1937d.cc @@ -0,0 +1,320 @@ +#pragma GCC optimize("Ofast") +///////////////////////////////////////////////////////// +/** + * Useful Macros + * by subcrip + * (requires C++17) + */ + +#include +using namespace std; + +/* macro helpers */ +#define __NARGS(...) std::tuple_size::value +#define __DECOMPOSE_S(a, x) auto x = a; +#define __DECOMPOSE_N(a, ...) auto [__VA_ARGS__] = a; +constexpr void __() {} +#define __AS_PROCEDURE(...) __(); __VA_ARGS__; __() +#define __as_typeof(container) decltype(container)::value_type + +/* type aliases */ +using ll = int64_t; +using ull = uint64_t; +using pii = pair; +using pil = pair; +using pli = pair; +using pll = pair; + +/* constants */ +constexpr int INF = 0x3f3f3f3f; +constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; +constexpr ull MDL = 1e9 + 7; +constexpr ull PRIME = 998'244'353; +constexpr ll MDL1 = 8784491; +constexpr ll MDL2 = PRIME; + +/* random */ + +mt19937 rd(chrono::duration_cast(chrono::system_clock::now().time_since_epoch()).count()); + +/* bit-wise operations */ +#define lowbit(x) ((x) & -(x)) +#define popcount(x) (__builtin_popcountll(ll(x))) +#define parity(x) (__builtin_parityll(ll(x))) +#define msp(x) (63LL - __builtin_clzll(ll(x))) +#define lsp(x) (__builtin_ctzll(ll(x))) + +/* arithmetic operations */ +#define mod(x, y) ((((x) % (y)) + (y)) % (y)) + +/* fast pairs */ +#define upair ull +#define umake(x, y) (ull(x) << 32 | (ull(y) & ((1ULL << 32) - 1))) +#define u1(p) ((p) >> 32) +#define u2(p) ((p) & ((1ULL << 32) - 1)) +#define ult std::less +#define ugt std::greater + +#define ipair ull +#define imake(x, y) (umake(x, y)) +#define i1(p) (int(u1(ll(p)))) +#define i2(p) (ll(u2(p) << 32) >> 32) +struct ilt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) < i2(b); + else return i1(a) < i1(b); + } +}; +struct igt { + bool operator()(const ipair& a, const ipair& b) const { + if (i1(a) == i1(b)) return i2(a) > i2(b); + else return i1(a) > i1(b); + } +}; + +/* conditions */ +#define loop while (1) +#define if_or(var, val) if (!(var == val)) var = val; else +#define continue_or(var, val) __AS_PROCEDURE(if (var == val) continue; var = val;) +#define break_or(var, val) __AS_PROCEDURE(if (var == val) break; var = val;) + +/* hash */ +struct safe_hash { + // https://codeforces.com/blog/entry/62393 + static uint64_t splitmix64(uint64_t x) { + // http://xorshift.di.unimi.it/splitmix64.c + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); + } + + size_t operator()(uint64_t x) const { + static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); + return splitmix64(x + FIXED_RANDOM); + } +}; + +struct pair_hash { + template + size_t operator()(const pair& a) const { + auto hash1 = safe_hash()(a.first); + auto hash2 = safe_hash()(a.second); + if (hash1 != hash2) { + return hash1 ^ hash2; + } + return hash1; + } +}; + +/* build data structures */ +#define unordered_counter(from, to) __AS_PROCEDURE(unordered_map<__as_typeof(from), size_t, safe_hash> to; for (auto&& x : from) ++to[x];) +#define counter(from, to, cmp) __AS_PROCEDURE(map<__as_typeof(from), size_t, cmp> to; for (auto&& x : from) ++to[x];) +#define pa(a) __AS_PROCEDURE(__typeof(a) pa; pa.push_back({}); for (auto&&x : a) pa.push_back(pa.back() + x);) +#define sa(a) __AS_PROCEDURE(__typeof(a) sa(a.size() + 1); {int n = a.size(); for (int i = n - 1; i >= 0; --i) sa[i] = sa[i + 1] + a[i];};) +#define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) +#define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) +#define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) + +/* io */ +#define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) +template void __read(T& x) { cin >> x; } +template void __read(T& x, U&... args) { cin >> x; __read(args...); } +#define read(type, ...) __AS_PROCEDURE(type __VA_ARGS__; __read(__VA_ARGS__);) +#define readvec(type, a, n) __AS_PROCEDURE(vector a(n); for (int i = 0; i < (n); ++i) cin >> a[i];) +#define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) +#define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) +#define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) +template ostream& operator<<(ostream& out, vector vec) { + for (auto&& i : vec) out << i << ' '; + return out; +} + +/* pops */ +#define poptop(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.top(); q.pop();) +#define popback(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.back(); q.pop_back();) +#define popfront(q, ...) __AS_PROCEDURE(auto [__VA_ARGS__] = q.front();q.pop_front();) + +/* math */ +constexpr inline int lg2(ll x) { return x == 0 ? -1 : sizeof(ll) * 8 - 1 - __builtin_clzll(x); } + +void __exgcd(ll a, ll b, ll& x, ll& y) { + if (b == 0) { + x = 1, y = 0; + return; + } + __exgcd(b, a % b, y, x); + y -= a / b * x; +} + +ll inverse(ll a, ll b) { + ll x, y; + __exgcd(a, b, x, y); + return mod(x, b); +} + +/* string algorithms */ +vector calc_next(string t) { // pi function of t + int n = (int)t.length(); + vector pi(n); + for (int i = 1; i < n; i++) { + int j = pi[i - 1]; + while (j > 0 && t[i] != t[j]) j = pi[j - 1]; + if (t[i] == t[j]) j++; + pi[i] = j; + } + return pi; +} +vector calc_z(string t) { // z function of t + int m = t.length(); + vector z; + z.push_back(m); + pair prev = {1, -1}; + for (int i = 1; i < m; ++i) { + if (z[i - prev.first] + i <= prev.second) { + z.push_back(z[i - prev.first]); + } else { + int j = max(i, prev.second + 1); + while (j < m && t[j] == t[j - i]) ++j; + z.push_back(j - i); + prev = {i, j - 1}; + } + } + return z; +} +vector kmp(string s, string t) { // find all t in s + string cur = t + '#' + s; + int sz1 = s.size(), sz2 = t.size(); + vector v; + vector lps = calc_next(cur); + for (int i = sz2 + 1; i <= sz1 + sz2; i++) { + if (lps[i] == sz2) v.push_back(i - 2 * sz2); + } + return v; +} +int period(string s) { // find the length of shortest recurring period + int n = s.length(); + auto z = calc_z(s); + for (int i = 1; i <= n / 2; ++i) { + if (n % i == 0 && z[i] == n - i) { + return i; + } + } + return n; +} +///////////////////////////////////////////////////////// + + +// #define SINGLE_TEST_CASE +// #define DUMP_TEST_CASE 512 + +void dump() {} + +void prep() {} + +void solve() { + read(int, n); + vector grid(n); + for (int i = 0; i < n; ++i) { + cin >> grid[i]; + } + vector pre(n), nxt(n); + int prev = -1; + for (int i = 0; i < n; ++i) { + pre[i] = prev; + if (grid[i] == '>') prev = i; + } + int next = -1; + for (int i = n - 1; ~i; --i) { + nxt[i] = next; + if (grid[i] == '<') next = i; + } + vector ps(n + 1), pd(n + 1); + vector ss(n + 1), sd(n + 1); + for (int i = 1; i <= n; ++i) { + ps[i] = ps[i-1], pd[i] = pd[i-1]; + if (grid[i-1] == '<') { + ps[i] += 1; + pd[i] += i; + } + } + for (int i = n - 1; ~i; --i) { + ss[i] = ss[i+1], sd[i] = sd[i+1]; + if (grid[i] == '>') { + ss[i] += 1; + sd[i] += n - i; + } + } + vector res(n); + for (int i = 0; i < n; ++i) { + if (ps[n] - ps[i + 1] > ss[0] - ss[i]) { + debug(true); + int db = ss[0] - ss[i]; + debug(db); + int l = i + 1, r = n; + while (l < r) { + int mid = l + r + 1 >> 1; + if (ps[mid] - ps[i + 1] > db + 1) { + r = mid - 1; + } else { + l = mid; + } + } + debug(ps[2] - ps[1]); + debug(l); + res[i] += (pd[l] - pd[i + 1] - (i + 1) * (db + 1)) * 2; + debug(res[i]); + res[i] += (sd[0] - sd[i] - (n - i) * db) * 2; + debug(res[i]); + res[i] += i + 1; + debug(res[i]); + } else if (ps[n] - ps[i + 1] < ss[0] - ss[i]) { + debug(false); + int db = ps[n] - ps[i + 1]; + int l = 0, r = i; + while (l < r) { + int mid = l + r >> 1; + if (ss[mid] - ss[i] > db + 1) { + l = mid + 1; + } else { + r = mid; + } + } + res[i] += (pd[n] - pd[i + 1] - (i + 1) * db) * 2; + res[i] += (sd[l] - sd[i] - (n - i) * (db + 1)) * 2; + res[i] += n - i; + } else { + debug(1); + int db = ps[n]- ps[i + 1]; + res[i] += (pd[n] - pd[i + 1] - (i + 1) * db) * 2; + res[i] += (sd[0] - ss[i] - (n - i) * db) * 2; + if (grid[i] == '>') { + res[i] += n - i; + } else { + res[i] += i + 1; + } + } + } + putvec(res); +} + +int main() { + untie, cout.tie(NULL); + prep(); +#ifdef SINGLE_TEST_CASE + solve(); +#else + read(int, t); + for (int i = 0; i < t; ++i) { +#ifdef DUMP_TEST_CASE + if (i + 1 == (DUMP_TEST_CASE)) { + dump(); + } else { + solve(); + } +#else + solve(); +#endif + } +#endif +} diff --git a/src/bin/d.cc b/src/bin/d.cc index 589e389..13d57bb 100644 --- a/src/bin/d.cc +++ b/src/bin/d.cc @@ -7,10 +7,7 @@ */ #include -#include using namespace std; -using namespace __gnu_cxx; -using namespace __gnu_pbds; /* macro helpers */ #define __NARGS(...) std::tuple_size::value @@ -217,33 +214,88 @@ void prep() {} void solve() { read(int, n); - readvec(int, a, n); - sort(a.begin(), a.end()); - int mn = a[0]; - int cnt = 0; + vector grid(n); for (int i = 0; i < n; ++i) { - if (a[i] == mn) { - cnt += 1; - } else { - break; + cin >> grid[i]; + } + vector pre(n), nxt(n); + int prev = -1; + for (int i = 0; i < n; ++i) { + pre[i] = prev; + if (grid[i] == '>') prev = i; + } + int next = -1; + for (int i = n - 1; ~i; --i) { + nxt[i] = next; + if (grid[i] == '<') next = i; + } + vector ps(n + 1), pd(n + 1); + vector ss(n + 1), sd(n + 1); + for (int i = 1; i <= n; ++i) { + ps[i] = ps[i-1], pd[i] = pd[i-1]; + if (grid[i-1] == '<') { + ps[i] += 1; + pd[i] += i; } } - if (cnt == 1) { - cout << "YES\n"; - } else { - int f = 0; - for (int i = 0; i < n; ++i) { - if (a[i] % mn) { - f = 1; - break; + for (int i = n - 1; ~i; --i) { + ss[i] = ss[i+1], sd[i] = sd[i+1]; + if (grid[i] == '>') { + ss[i] += 1; + sd[i] += n - i; + } + } + vector res(n); + for (int i = 0; i < n; ++i) { + if (ps[n] - ps[i + 1] > ss[0] - ss[i]) { + debug(true); + int db = ss[0] - ss[i]; + debug(db); + int l = i + 1, r = n; + while (l < r) { + int mid = l + r + 1 >> 1; + if (ps[mid] - ps[i + 1] > db + 1) { + r = mid - 1; + } else { + l = mid; + } + } + debug(ps[2] - ps[1]); + debug(l); + res[i] += (pd[l] - pd[i + 1] - (i + 1) * (db + 1)) * 2; + debug(res[i]); + res[i] += (sd[0] - sd[i] - (n - i) * db) * 2; + debug(res[i]); + res[i] += i + 1; + debug(res[i]); + } else if (ps[n] - ps[i + 1] < ss[0] - ss[i]) { + debug(false); + int db = ps[n] - ps[i + 1]; + int l = 0, r = i; + while (l < r) { + int mid = l + r >> 1; + if (ss[mid] - ss[i] > db + 1) { + l = mid + 1; + } else { + r = mid; + } + } + res[i] += (pd[n] - pd[i + 1] - (i + 1) * db) * 2; + res[i] += (sd[l] - sd[i] - (n - i) * (db + 1)) * 2; + res[i] += n - i; + } else { + debug(1); + int db = ps[n]- ps[i + 1]; + res[i] += (pd[n] - pd[i + 1] - (i + 1) * db) * 2; + res[i] += (sd[0] - ss[i] - (n - i) * db) * 2; + if (grid[i] == '>') { + res[i] += n - i; + } else { + res[i] += i + 1; } } - if (f) { - cout << "YES\n"; - } else { - cout << "NO\n"; - } } + putvec(res); } int main() { diff --git a/src/bin/std.in b/src/bin/std.in index 29691f0..940c68f 100644 --- a/src/bin/std.in +++ b/src/bin/std.in @@ -1,10 +1,12 @@ -4 -3 -1 3 5 -4 -1 3 5 7 -4 -1 2 3 4 -4 -10 20 30 40 +5 +1 +1 +2 +1 2 +5 +1 4 2 3 5 +5 +2 1 5 3 4 +10 +7 4 8 1 6 10 3 5 2 9 diff --git a/src/bin/template.cc b/src/bin/template.cc index 1ff12f9..cc44add 100644 --- a/src/bin/template.cc +++ b/src/bin/template.cc @@ -28,8 +28,8 @@ using pll = pair; /* constants */ constexpr int INF = 0x3f3f3f3f; constexpr ll INFLL = 0x3f3f3f3f3f3f3f3fLL; -constexpr ull MDL = 1e9 + 7; -constexpr ull PRIME = 998'244'353; +constexpr ll MDL = 1e9 + 7; +constexpr ll PRIME = 998'244'353; constexpr ll MDL1 = 8784491; constexpr ll MDL2 = PRIME; @@ -115,6 +115,20 @@ struct pair_hash { #define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) #define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) #define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} /* io */ #define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) @@ -125,7 +139,22 @@ template void __read(T& x, U&... args) { cin >> x; __ #define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) #define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) #define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) -template ostream& operator<<(ostream& out, vector vec) { +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { for (auto&& i : vec) out << i << ' '; return out; } @@ -204,7 +233,6 @@ int period(string s) { // find the length of shortest recurring period } ///////////////////////////////////////////////////////// - // #define SINGLE_TEST_CASE // #define DUMP_TEST_CASE 512 @@ -213,7 +241,7 @@ void dump() {} void prep() {} void solve() { - + } int main() { @@ -228,7 +256,7 @@ int main() { if (i + 1 == (DUMP_TEST_CASE)) { dump(); } else { - solve(); + solve(); } #else solve(); diff --git a/src/bin/test.cc b/src/bin/test.cc index cdae065..83c106f 100644 --- a/src/bin/test.cc +++ b/src/bin/test.cc @@ -7,10 +7,7 @@ */ #include -#include using namespace std; -using namespace __gnu_cxx; -using namespace __gnu_pbds; /* macro helpers */ #define __NARGS(...) std::tuple_size::value @@ -118,6 +115,20 @@ struct pair_hash { #define adj(ch, n) __AS_PROCEDURE(vector> ch((n) + 1);) #define edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v), ch[v].push_back(u);) #define Edge(ch, u, v) __AS_PROCEDURE(ch[u].push_back(v);) +template pair> discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} +template pair> unordered_discretize(Iterator __first, Iterator __last) { + set st(__first, __last); + size_t N = 0; + unordered_map mp; + for (auto&& x : st) mp[x] = ++N; + return {N, mp}; +} /* io */ #define untie __AS_PROCEDURE(ios_base::sync_with_stdio(0), cin.tie(NULL)) @@ -128,7 +139,22 @@ template void __read(T& x, U&... args) { cin >> x; __ #define putvec(a) __AS_PROCEDURE(for (auto&& x : a) cout << x << ' '; cout << endl;) #define debug(x) __AS_PROCEDURE(cerr << #x" = " << (x) << endl;) #define debugvec(a) __AS_PROCEDURE(cerr << #a" = "; for (auto&& x : a) cerr << x << ' '; cerr << endl;) -template ostream& operator<<(ostream& out, vector vec) { +template ostream& operator<<(ostream& out, const pair& p) { + out << "{" << p.first << ", " << p.second << "}"; + return out; +} +template +void print_tuple_impl(std::basic_ostream& os, const Tuple& t, std::index_sequence) { + using swallow = int[]; // guaranties left to right order + (void)swallow { 0, (void(os << (Index == 0 ? "" : ", ") << std::get(t)), 0)... }; +} +template +decltype(auto) operator<<(std::basic_ostream& os, const std::tuple& t) { + os << "{"; + print_tuple_impl(os, t, std::index_sequence_for{}); + return os << "}"; +} +template ostream& operator<<(ostream& out, const vector& vec) { for (auto&& i : vec) out << i << ' '; return out; } @@ -208,7 +234,7 @@ int period(string s) { // find the length of shortest recurring period ///////////////////////////////////////////////////////// -// #define SINGLE_TEST_CASE +#define SINGLE_TEST_CASE // #define DUMP_TEST_CASE 512 void dump() {} diff --git a/src/bin/testgen.cc b/src/bin/testgen.cc index d7bad66..d54e099 100644 --- a/src/bin/testgen.cc +++ b/src/bin/testgen.cc @@ -1,63 +1,9 @@ -#include +#include using namespace std; -bool isprime(int x) { - int sq = sqrt(x); - for (int i = 2; i <= sq; ++i) { - if (x % i == 0) { - return 0; - } - } - return 1; -} - -class Solution { -public: - long long countPaths(int n, vector>& edges) { - using ll = int64_t; - using pii = pair; - ll res = 0; - vector dp(n + 1); - unordered_set prime_table; - for (int i = 2; i <= n; ++i) { - if (isprime(i)) prime_table.insert(i); - } - auto dfs = [&] (auto dfs, int v, int pa) -> void { - ll cs = 0, cn = 0; - cerr << "v=" << v << endl;; - for (auto&& u : edges[v-1]) { - if (u == pa) continue; - dfs(dfs, u, v); - cs += dp[u].first; - cn += dp[u].second; - } - if (prime_table.count(v)) { - ll curr = 0; - for (auto&& u : edges[v-1]) { - if (u == pa) continue; - curr += dp[u].second * (cn - dp[u].second + 1); - } - curr /= 2; - res += curr; - dp[v] = {cn, 0}; - } else { - ll curr = 0; - for (auto&& u : edges[v-1]) { - if (u == pa) continue; - curr += dp[u].first * (cn - dp[u].second + 1); - } - curr /= 2; - res += curr; - dp[v] = {cs, cn}; - } - }; - dfs(dfs, 1, 0); - return res; - } -}; - int main() { - int n = 5; - vector> edges = {{1, 2}, {1, 3}, {2, 4}, {2, 5}}; - cout << Solution().countPaths(n, edges) << endl; -} + cout << 1 << endl << 200000 << endl; + for (int i = 0; i < 199999; ++i) { + cout << i + 1 << ' ' << i + 2 << endl; + } +}