From 68422f90e1686ee9ae401c7abc2632e548cfd5eb Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Tue, 11 Feb 2025 17:32:49 -0500 Subject: [PATCH] feat(cf): update with 957.f --- codeforces/1003/b.cc | 20 ++------ codeforces/1003/b.out | 2 +- codeforces/1003/f.out | 2 +- codeforces/957/a.out | 2 +- codeforces/957/b.out | 2 +- codeforces/957/e.cc | 116 ++++++++++++++++++++++++++++++++++++++++++ codeforces/957/e.in | 4 ++ codeforces/957/e.out | 11 ++++ codeforces/957/f.cc | 52 +++++++++++++++++-- codeforces/957/f.out | 18 +++---- codeforces/957/x.cc | 86 +++++++++++++++++++++++++++++++ codeforces/957/x.in | 0 codeforces/957/x.out | 0 13 files changed, 282 insertions(+), 33 deletions(-) create mode 100644 codeforces/957/e.cc create mode 100644 codeforces/957/e.in create mode 100644 codeforces/957/e.out create mode 100644 codeforces/957/x.cc create mode 100644 codeforces/957/x.in create mode 100644 codeforces/957/x.out diff --git a/codeforces/1003/b.cc b/codeforces/1003/b.cc index 9ba93b7..272c7e4 100644 --- a/codeforces/1003/b.cc +++ b/codeforces/1003/b.cc @@ -68,22 +68,12 @@ using vec = std::vector; void solve() { string s; cin >> s; - vec S; - for (auto e : s) { - if (!S.empty() && S.back() == e) { - S.pop_back(); - S.push_back('*'); - } else - S.push_back(e); + bool can = false; + for (int i = 1; i < sz(s); ++i) { + if (s[i] == s[i - 1]) + can = true; } - - while (sz(S) >= 2) { - if (S.back() == '*' || S[sz(S) - 1] == '*') - S.pop_back(); - else - break; - } - prln("{}", sz(S)); + prln("{}", can ? 1 : sz(s)); } // {{{ diff --git a/codeforces/1003/b.out b/codeforces/1003/b.out index 9cb7dc7..e03522c 100644 --- a/codeforces/1003/b.out +++ b/codeforces/1003/b.out @@ -4,4 +4,4 @@ 4 [code]: 0 -[time]: 11.9956 ms \ No newline at end of file +[time]: 12.0482 ms \ No newline at end of file diff --git a/codeforces/1003/f.out b/codeforces/1003/f.out index 4daedd7..0cdd122 100644 --- a/codeforces/1003/f.out +++ b/codeforces/1003/f.out @@ -4,4 +4,4 @@ 1001001000100 [code]: 0 -[time]: 3.66259 ms \ No newline at end of file +[time]: 4.07124 ms \ No newline at end of file diff --git a/codeforces/957/a.out b/codeforces/957/a.out index 668c429..6d9cca6 100644 --- a/codeforces/957/a.out +++ b/codeforces/957/a.out @@ -2,4 +2,4 @@ 600 [code]: 0 -[time]: 10.5841 ms \ No newline at end of file +[time]: 10.5841 ms diff --git a/codeforces/957/b.out b/codeforces/957/b.out index 0a42214..5584c78 100644 --- a/codeforces/957/b.out +++ b/codeforces/957/b.out @@ -4,4 +4,4 @@ 15 [code]: 0 -[time]: 12.924 ms \ No newline at end of file +[time]: 12.924 ms diff --git a/codeforces/957/e.cc b/codeforces/957/e.cc new file mode 100644 index 0000000..0a9298e --- /dev/null +++ b/codeforces/957/e.cc @@ -0,0 +1,116 @@ +// {{{ +#include + +// https://codeforces.com/blog/entry/96344 + +#pragma GCC optimize("O2,unroll-loops") +#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") + +using namespace std; + +template +constexpr T MIN = std::numeric_limits::min(); + +template +constexpr T MAX = std::numeric_limits::max(); + +template +[[nodiscard]] static T sc(auto&& x) { + return static_cast(x); +} + +template +[[nodiscard]] static T sz(auto&& x) { + return static_cast(x.size()); +} + +template +void pr(std::format_string fmt, Args&&... args) { + std::print(fmt, std::forward(args)...); +} + +template +void pr(std::format_string fmt) { + std::print(fmt); +} + +template +void prln(std::format_string fmt, Args&&... args) { + std::println(fmt, std::forward(args)...); +} + +template +void prln(std::format_string fmt) { + std::println(fmt); +} + +void prln() { + std::println(); +} + +void prln(auto const& t) { + std::println("{}", t); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; + +#define ff first +#define ss second +#define eb emplace_back +#define pb push_back +#define all(x) (x).begin(), (x).end() +#define rall(x) (x).rbegin(), (x).rend() +// }}} + +void solve() { + int n; + cin >> n; + + string strn = to_string(n); + int lenn = sz(strn); + + vec> ans; + + for (int a = 1; a <= 100000; ++a) { + // s =|n|a-b; na-b + + // 1<=|n|a-b<=5 + // b<=|n|a-1 |n|a-5<=b + int lo = max(1, lenn * a - 5); + int hi = min(10000, lenn * a - 1); + + for (int b = lo; b <= hi; ++b) { + int cmp = 0; + for (int i = 0; i < lenn * a - b; ++i) { + cmp *= 10; + cmp += strn[i % lenn] - '0'; + } + if (cmp == n * a - b) { + ans.eb(a, b); + } + } + } + + prln("{}", sz(ans)); + for (auto& [a, b] : ans) { + prln("{} {}", a, b); + } +} + +// {{{ +int main() { + cin.tie(nullptr)->sync_with_stdio(false); + + int t = 1; + cin >> t; + + while (t--) { + solve(); + } + + return 0; +} +// }}} diff --git a/codeforces/957/e.in b/codeforces/957/e.in new file mode 100644 index 0000000..8fb08e7 --- /dev/null +++ b/codeforces/957/e.in @@ -0,0 +1,4 @@ +3 +2 +3 +10 diff --git a/codeforces/957/e.out b/codeforces/957/e.out new file mode 100644 index 0000000..27c1310 --- /dev/null +++ b/codeforces/957/e.out @@ -0,0 +1,11 @@ +3 +20 18 +219 216 +2218 2214 +1 +165 162 +1 +1262 2519 + +[code]: 0 +[time]: 13.0446 ms \ No newline at end of file diff --git a/codeforces/957/f.cc b/codeforces/957/f.cc index 71c499b..ca8f3d6 100644 --- a/codeforces/957/f.cc +++ b/codeforces/957/f.cc @@ -1,4 +1,5 @@ -#include // {{{ +// {{{ +#include // https://codeforces.com/blog/entry/96344 @@ -62,15 +63,55 @@ using vec = std::vector; #define pb push_back #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() +// }}} + +bitset<2 * 100000 + 5 + 1> used; +vec I; void solve() { - prln(5); + ll n, x; + cin >> n >> x; + vec a(n); + for (auto& e : a) + cin >> e; + + used.reset(); + I = {1}; + + ll ans = 1; + + for (auto number : a) { + if (x % number) + continue; + vec nxt; + for (auto i : I) { + if (i * number >= sz(used)) + continue; + if (i * number == x) { + ++ans; + used.reset(); + used[number] = true; + I.clear(); + nxt = {1}; + nxt.pb(number); + break; + } + if (!used[i * number]) { + nxt.pb(i * number); + used[i * number] = true; + } + } + I.insert(I.end(), all(nxt)); + } + + prln("{}", ans); } -int main() { // {{{ +// {{{ +int main() { cin.tie(nullptr)->sync_with_stdio(false); - int t = 1; + ll t = 1; cin >> t; while (t--) { @@ -78,4 +119,5 @@ int main() { // {{{ } return 0; -} //}}} +} +// }}} diff --git a/codeforces/957/f.out b/codeforces/957/f.out index 84ed3d3..ed47a51 100644 --- a/codeforces/957/f.out +++ b/codeforces/957/f.out @@ -1,11 +1,11 @@ -5 -5 -5 -5 -5 -5 -5 -5 +3 +2 +1 +1 +2 +1 +3 +3 [code]: 0 -[time]: 12.038 ms \ No newline at end of file +[time]: 11.9431 ms diff --git a/codeforces/957/x.cc b/codeforces/957/x.cc new file mode 100644 index 0000000..3d00d89 --- /dev/null +++ b/codeforces/957/x.cc @@ -0,0 +1,86 @@ +// {{{ +#include + +// https://codeforces.com/blog/entry/96344 + +#pragma GCC optimize("O2,unroll-loops") +#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") + +using namespace std; + +template +constexpr T MIN = std::numeric_limits::min(); + +template +constexpr T MAX = std::numeric_limits::max(); + +template +[[nodiscard]] static T sc(auto&& x) { + return static_cast(x); +} + +template +[[nodiscard]] static T sz(auto&& x) { + return static_cast(x.size()); +} + + +template +void pr(std::format_string fmt, Args&&... args) { + std::print(fmt, std::forward(args)...); +} + +template +void pr(std::format_string fmt) { + std::print(fmt); +} + +template +void prln(std::format_string fmt, Args&&... args) { + std::println(fmt, std::forward(args)...); +} + +template +void prln(std::format_string fmt) { + std::println(fmt); +} + +void prln() { + std::println(); +} + +void prln(auto const& t) { + std::println("{}", t); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; + +#define ff first +#define ss second +#define eb emplace_back +#define pb push_back +#define all(x) (x).begin(), (x).end() +#define rall(x) (x).rbegin(), (x).rend() +// }}} + +void solve() { + +} + +// {{{ +int main() { + cin.tie(nullptr)->sync_with_stdio(false); + + int t = 1; + cin >> t; + + while (t--) { + solve(); + } + + return 0; +} +// }}} diff --git a/codeforces/957/x.in b/codeforces/957/x.in new file mode 100644 index 0000000..e69de29 diff --git a/codeforces/957/x.out b/codeforces/957/x.out new file mode 100644 index 0000000..e69de29