From 982f1d625edf2872b4c87aa1eaedeeba94ddf809 Mon Sep 17 00:00:00 2001 From: subcrip Date: Thu, 21 Mar 2024 00:11:01 +0800 Subject: [PATCH] backup --- .../DMaxGEQSum/cpp.out | Bin 0 -> 71976 bytes .../DMaxGEQSum/input1 | 7 + .../DMaxGEQSum/input2 | 5 + .../DMaxGEQSum/output1 | 3 + .../DMaxGEQSum/output2 | 2 + .../DMaxGEQSum/solution.cpp | 328 ++++++++++++++++++ 6 files changed, 345 insertions(+) create mode 100755 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/cpp.out create mode 100644 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input1 create mode 100644 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input2 create mode 100644 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output1 create mode 100644 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output2 create mode 100644 Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/solution.cpp diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/cpp.out b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/cpp.out new file mode 100755 index 0000000000000000000000000000000000000000..4ce3d2facb4c1f2a6a8f57771c92b5ed009cf7f0 GIT binary patch literal 71976 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 TWG+*sA0WlRQ)x?J3u^xl6c;<@ literal 0 HcmV?d00001 diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input1 b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input1 new file mode 100644 index 0000000..cd097ba --- /dev/null +++ b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input1 @@ -0,0 +1,7 @@ +3 +4 +-1 1 -1 2 +5 +-1 2 -3 2 -1 +3 +2 3 -1 diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input2 b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input2 new file mode 100644 index 0000000..f168dab --- /dev/null +++ b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/input2 @@ -0,0 +1,5 @@ +2 +1 +-1 +1 +1 diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output1 b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output1 new file mode 100644 index 0000000..5ae1e3d --- /dev/null +++ b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output1 @@ -0,0 +1,3 @@ +YES +YES +NO diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output2 b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output2 new file mode 100644 index 0000000..ad3fc22 --- /dev/null +++ b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/output2 @@ -0,0 +1,2 @@ +YES +YES diff --git a/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/solution.cpp b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/solution.cpp new file mode 100644 index 0000000..1e3eb9c --- /dev/null +++ b/Codeforces/CodeCraft22andCodeforcesRound795(Div2)/DMaxGEQSum/solution.cpp @@ -0,0 +1,328 @@ + +#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]); + } +}; + +ll u_max(ll a, ll b) { return max(a, b); } +ll u_min(ll a, ll b) { return min(a, b); } + +void solve() { + read(int, n); + readvec(ll, a, n); + vector ps(n + 1); + for (int i = 1; i <= n; ++i) { + ps[i] = ps[i - 1] + a[i - 1]; + } + sparse_table min_rmq(ps.rbegin(), ps.rend(), u_min); + sparse_table max_rmq(ps.rbegin(), ps.rend(), u_max); + vector prev(n), next(n); + vector q; + for (int i = 0; i < n; ++i) { + while (q.size() && a[q.back()] <= a[i]) q.pop_back(); + if (q.size()) prev[i] = q.back(); + else prev[i] = -1; + q.push_back(i); + } + q.clear(); + for (int i = n - 1; ~i; --i) { + while (q.size() && a[q.back()] <= a[i]) q.pop_back(); + if (q.size()) next[i] = q.back(); + else next[i] = n; + q.push_back(i); + } + int f = 1; + for (int i = 0; i < n; ++i) { + ll max_ps = max_rmq.query(i + 1, next[i]) - min_rmq.query(prev[i] + 1, i); + if (a[i] < max_ps) { + f = 0; + break; + } + } + if (f) { + 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 +}