diff --git a/codeforces/923/a.cc b/codeforces/923/a.cc index 14e09b1..b9a7e78 100644 --- a/codeforces/923/a.cc +++ b/codeforces/923/a.cc @@ -92,18 +92,7 @@ void NO() { static constexpr int MOD = 1e9 + 7; void solve() { - int n; - cin >> n; - int l = -1, r = -1; - - FOR(i, 0, n) { - char c; - cin >> c; - if (l == -1 && c == 'B') l = i; - if (c == 'B') r = i; - } - - println(r - l + 1); + println("HI"); } int main() { diff --git a/codeforces/923/a.out b/codeforces/923/a.out index e44b01a..9bab112 100644 --- a/codeforces/923/a.out +++ b/codeforces/923/a.out @@ -1,24 +1,11 @@ -hi +HI +HI +HI +HI +HI +HI +HI +HI -4 -hi - -1 -hi - -1 -hi - -2 -hi - -4 -hi - -6 -hi - -4 -hi - -7 +[code]: 0 +[time]: 4.7996 ms \ No newline at end of file diff --git a/cses/increasing-array/.clang-format b/cses/increasing-array/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/increasing-array/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/increasing-array/.clangd b/cses/increasing-array/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/increasing-array/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/increasing-array/compile_flags.txt b/cses/increasing-array/compile_flags.txt new file mode 100644 index 0000000..a3d54a8 --- /dev/null +++ b/cses/increasing-array/compile_flags.txt @@ -0,0 +1,5 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/increasing-array/solution.cc b/cses/increasing-array/solution.cc new file mode 100644 index 0000000..9976961 --- /dev/null +++ b/cses/increasing-array/solution.cc @@ -0,0 +1,65 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() { + ll ans = 0; + int n; + cin >> n; + ll last = 0; + while (n--) { + ll x; + cin >> x; + if (last != 0 && last > x) { + ans += last - x; + x += last - x; + } + last = x; + } + cout << ans << endl; +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/increasing-array/solution.in b/cses/increasing-array/solution.in new file mode 100644 index 0000000..84428d7 --- /dev/null +++ b/cses/increasing-array/solution.in @@ -0,0 +1,2 @@ +10 +1000000000 1 1 1 1 1 1 1 1 1 diff --git a/cses/increasing-array/solution.out b/cses/increasing-array/solution.out new file mode 100644 index 0000000..7de34c9 --- /dev/null +++ b/cses/increasing-array/solution.out @@ -0,0 +1,4 @@ +8999999991 + +[code]: 0 +[time]: 4.4868 ms \ No newline at end of file diff --git a/cses/missing-number/.clang-format b/cses/missing-number/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/missing-number/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/missing-number/.clangd b/cses/missing-number/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/missing-number/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/missing-number/compile_flags.txt b/cses/missing-number/compile_flags.txt new file mode 100644 index 0000000..573a6b6 --- /dev/null +++ b/cses/missing-number/compile_flags.txt @@ -0,0 +1,6 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL +-std=c++20 diff --git a/cses/missing-number/solution.cc b/cses/missing-number/solution.cc new file mode 100644 index 0000000..2867d0e --- /dev/null +++ b/cses/missing-number/solution.cc @@ -0,0 +1,65 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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; + vec seen(n + 1, false); + while (--n) { + int x; + cin >> x; + seen[x] = true; + } + for (int i = 1; i < sz(seen); ++i) { + if (!seen[i]) { + cout << i << endl; + break; + } + } +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/missing-number/solution.in b/cses/missing-number/solution.in new file mode 100644 index 0000000..58c8e41 --- /dev/null +++ b/cses/missing-number/solution.in @@ -0,0 +1,2 @@ +5 +2 3 1 5 diff --git a/cses/missing-number/solution.out b/cses/missing-number/solution.out new file mode 100644 index 0000000..8b5d8e1 --- /dev/null +++ b/cses/missing-number/solution.out @@ -0,0 +1,4 @@ +4 + +[code]: 0 +[time]: 3.88908 ms \ No newline at end of file diff --git a/cses/number-spiral/.clang-format b/cses/number-spiral/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/number-spiral/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/number-spiral/.clangd b/cses/number-spiral/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/number-spiral/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/number-spiral/compile_flags.txt b/cses/number-spiral/compile_flags.txt new file mode 100644 index 0000000..a3d54a8 --- /dev/null +++ b/cses/number-spiral/compile_flags.txt @@ -0,0 +1,5 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/number-spiral/solution.cc b/cses/number-spiral/solution.cc new file mode 100644 index 0000000..607777f --- /dev/null +++ b/cses/number-spiral/solution.cc @@ -0,0 +1,62 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() { + ll x, y; + cin >> y >> x; + ll base = max(x, y); + ll ans = base * base; + if (ans & 1) + swap(x, y); + ans -= x - 1 + base - y; + cout << ans << endl; +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + int t; + cin >> t; + while (t--) + solve(); + + return 0; +} +// }}} diff --git a/cses/number-spiral/solution.in b/cses/number-spiral/solution.in new file mode 100644 index 0000000..edaf77c --- /dev/null +++ b/cses/number-spiral/solution.in @@ -0,0 +1,5 @@ +4 +2 3 +1 1 +4 2 +2 4 diff --git a/cses/number-spiral/solution.out b/cses/number-spiral/solution.out new file mode 100644 index 0000000..8b42200 --- /dev/null +++ b/cses/number-spiral/solution.out @@ -0,0 +1,7 @@ +8 +1 +15 +11 + +[code]: 0 +[time]: 4.26793 ms \ No newline at end of file diff --git a/cses/permutations/.clang-format b/cses/permutations/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/permutations/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/permutations/.clangd b/cses/permutations/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/permutations/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/permutations/compile_flags.txt b/cses/permutations/compile_flags.txt new file mode 100644 index 0000000..a3d54a8 --- /dev/null +++ b/cses/permutations/compile_flags.txt @@ -0,0 +1,5 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/permutations/solution.cc b/cses/permutations/solution.cc new file mode 100644 index 0000000..32f707b --- /dev/null +++ b/cses/permutations/solution.cc @@ -0,0 +1,76 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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; + /* + n= 5; + 1 4 2 5 3 + 1 4 2 5 3 6 + 1 7 2 6 3 5 4 + + + 41325 + */ + + if (n == 1) { + cout << 1 << endl; + } else if (n <= 3) { + cout << "NO SOLUTION\n"; + } else { + for (int cur = n & 1 ? n - 1 : n; cur > 4; cur -= 2) { + cout << cur << ' '; + } + cout << "2 4"; + for (int cur = 1; cur <= n; cur += 2) { + cout << ' ' << cur; + } + } +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/permutations/solution.in b/cses/permutations/solution.in new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/cses/permutations/solution.in @@ -0,0 +1 @@ +1 diff --git a/cses/permutations/solution.out b/cses/permutations/solution.out new file mode 100644 index 0000000..25af5b9 --- /dev/null +++ b/cses/permutations/solution.out @@ -0,0 +1,4 @@ +1 + +[code]: 0 +[time]: 4.06551 ms \ No newline at end of file diff --git a/cses/repetitions/.clang-format b/cses/repetitions/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/repetitions/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/repetitions/.clangd b/cses/repetitions/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/repetitions/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/repetitions/compile_flags.txt b/cses/repetitions/compile_flags.txt new file mode 100644 index 0000000..a3d54a8 --- /dev/null +++ b/cses/repetitions/compile_flags.txt @@ -0,0 +1,5 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/repetitions/solution.cc b/cses/repetitions/solution.cc new file mode 100644 index 0000000..759f3b2 --- /dev/null +++ b/cses/repetitions/solution.cc @@ -0,0 +1,60 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template using vec = std::vector; +template using arr = std::array; + +#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() { + string s; + cin >> s; + + ll streak = 0, ans = 0; + char last = ' '; + for (auto c : s) { + if (last == ' ' || last == c) { + ++streak; + ans = max(ans, streak); + } else { + streak = 1; + } + last = c; + } + cout << ans << endl; +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/repetitions/solution.in b/cses/repetitions/solution.in new file mode 100644 index 0000000..855590a --- /dev/null +++ b/cses/repetitions/solution.in @@ -0,0 +1 @@ +ABCDEF diff --git a/cses/repetitions/solution.out b/cses/repetitions/solution.out new file mode 100644 index 0000000..cfce1bd --- /dev/null +++ b/cses/repetitions/solution.out @@ -0,0 +1,4 @@ +1 + +[code]: 0 +[time]: 4.20523 ms \ No newline at end of file diff --git a/cses/two-knights/.clang-format b/cses/two-knights/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/two-knights/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/two-knights/.clangd b/cses/two-knights/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/two-knights/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/two-knights/compile_flags.txt b/cses/two-knights/compile_flags.txt new file mode 100644 index 0000000..a3d54a8 --- /dev/null +++ b/cses/two-knights/compile_flags.txt @@ -0,0 +1,5 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/two-knights/solution.cc b/cses/two-knights/solution.cc new file mode 100644 index 0000000..3fbbf79 --- /dev/null +++ b/cses/two-knights/solution.cc @@ -0,0 +1,58 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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; + for (ll i = 1; i <= n; ++i) { + ll ans = (i * i) * (i * i - 1) / 2; + ans -= 2 * 2 * (i - 1) * (i - 2); + cout << ans << endl; + } +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/two-knights/solution.in b/cses/two-knights/solution.in new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/cses/two-knights/solution.in @@ -0,0 +1 @@ +8 diff --git a/cses/two-knights/solution.out b/cses/two-knights/solution.out new file mode 100644 index 0000000..d6de519 --- /dev/null +++ b/cses/two-knights/solution.out @@ -0,0 +1,11 @@ +0 +6 +28 +96 +252 +550 +1056 +1848 + +[code]: 0 +[time]: 4.07505 ms \ No newline at end of file diff --git a/cses/two-sets/.clang-format b/cses/two-sets/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/two-sets/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/two-sets/.clangd b/cses/two-sets/.clangd new file mode 100644 index 0000000..4f8ead9 --- /dev/null +++ b/cses/two-sets/.clangd @@ -0,0 +1,8 @@ +CompileFlags: + Add: + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/two-sets/compile_flags.txt b/cses/two-sets/compile_flags.txt new file mode 100644 index 0000000..573a6b6 --- /dev/null +++ b/cses/two-sets/compile_flags.txt @@ -0,0 +1,6 @@ +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL +-std=c++20 diff --git a/cses/two-sets/solution.cc b/cses/two-sets/solution.cc new file mode 100644 index 0000000..8dee3f8 --- /dev/null +++ b/cses/two-sets/solution.cc @@ -0,0 +1,89 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() +// }}} + +struct hash_pair { + size_t operator()(const pair &p) const { + return hash()(p.first) ^ (hash()(p.second) << 1); + } +}; + +void solve() { + ll n; + cin >> n; + + ll full = n * (n + 1) / 2; + if (full & 1) { + cout << "NO\n"; + return; + } + ll half = full / 2; + + vec ans1, ans2; + ll total1 = 0; + + for (int i = n; i >= 1; --i) { + if (total1 + i <= half) { + ans1.eb(i); + total1 += i; + } else { + ans2.eb(i); + } + } + + cout << ans1.size() << endl; + for (auto e : ans1) + cout << e << ' '; + cout << endl; + cout << ans2.size() << endl; + for (auto e : ans2) + cout << e << ' '; + cout << endl; + + cout << endl; +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/two-sets/solution.in b/cses/two-sets/solution.in new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/cses/two-sets/solution.in @@ -0,0 +1 @@ +7 diff --git a/cses/two-sets/solution.out b/cses/two-sets/solution.out new file mode 100644 index 0000000..f6b5c3e --- /dev/null +++ b/cses/two-sets/solution.out @@ -0,0 +1,8 @@ +3 +7 6 1 +4 +5 4 3 2 + + +[code]: 0 +[time]: 11.0717 ms \ No newline at end of file diff --git a/cses/weird-algorithm/.clang-format b/cses/weird-algorithm/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/cses/weird-algorithm/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/cses/weird-algorithm/.clangd b/cses/weird-algorithm/.clangd new file mode 100644 index 0000000..81ec699 --- /dev/null +++ b/cses/weird-algorithm/.clangd @@ -0,0 +1,9 @@ +CompileFlags: + Add: + - -std=c++23 + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/cses/weird-algorithm/compile_flags.txt b/cses/weird-algorithm/compile_flags.txt new file mode 100644 index 0000000..7a6e5ad --- /dev/null +++ b/cses/weird-algorithm/compile_flags.txt @@ -0,0 +1,6 @@ +-std=c++23 +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/cses/weird-algorithm/solution.cc b/cses/weird-algorithm/solution.cc new file mode 100644 index 0000000..c811ee2 --- /dev/null +++ b/cses/weird-algorithm/solution.cc @@ -0,0 +1,64 @@ +#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()); +} + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() { + ll n; + cin >> n; + + while (n != 1) { + cout << n << ' '; + if (n & 1) { + n = n * 3 + 1; + } else { + n /= 2; + } + } + cout << 1 << endl; +} + +// {{{ +int main() { + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/cses/weird-algorithm/solution.in b/cses/weird-algorithm/solution.in new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/cses/weird-algorithm/solution.in @@ -0,0 +1 @@ +3 diff --git a/cses/weird-algorithm/solution.out b/cses/weird-algorithm/solution.out new file mode 100644 index 0000000..4d566c8 --- /dev/null +++ b/cses/weird-algorithm/solution.out @@ -0,0 +1,4 @@ +3 10 5 16 8 4 2 1 + +[code]: 0 +[time]: 11.0214 ms \ No newline at end of file diff --git a/kattis/18-2-2025/.clang-format b/kattis/18-2-2025/.clang-format new file mode 100644 index 0000000..e7350c4 --- /dev/null +++ b/kattis/18-2-2025/.clang-format @@ -0,0 +1,9 @@ +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLambdasOnASingleLine: false +AllowShortLoopsOnASingleLine: false diff --git a/kattis/18-2-2025/.clangd b/kattis/18-2-2025/.clangd new file mode 100644 index 0000000..81ec699 --- /dev/null +++ b/kattis/18-2-2025/.clangd @@ -0,0 +1,9 @@ +CompileFlags: + Add: + - -std=c++23 + - -Wall + - -Wextra + - -Wpedantic + - -Wshadow + - -DLOCAL + - -Wno-unknown-pragmas \ No newline at end of file diff --git a/kattis/18-2-2025/.null-ls_478791_k.py b/kattis/18-2-2025/.null-ls_478791_k.py new file mode 100644 index 0000000..d71a00e --- /dev/null +++ b/kattis/18-2-2025/.null-ls_478791_k.py @@ -0,0 +1,37 @@ +import math +from scipy.optimize import minimize_scalar + +def cable_length(x, L, H1, H2, d, h): + # Calculate the height of the cable at point x + y = H1 - (H1 - H2) * (x / L) + + # Ensure the rider is at least h + d meters above the ground + if y - d < h: + return float('inf') # Invalid configuration + + # Calculate the cable length + length1 = math.sqrt(x**2 + (H1 - y)**2) + length2 = math.sqrt((L - x)**2 + (H2 - y)**2) + return length1 + length2 + +def find_min_max_length(L, H1, H2, d, h): + # Find the minimum length + res_min = minimize_scalar(lambda x: cable_length(x, L, H1, H2, d, h), bounds=(0, L), method='bounded') + min_length = res_min.fun + + # Find the maximum length + res_max = minimize_scalar(lambda x: -cable_length(x, L, H1, H2, d, h), bounds=(0, L), method='bounded') + max_length = -res_max.fun + + return min_length, max_length + +# Example usage: +L = 1000 # Distance between poles +H1 = 100 # Height of first pole +H2 = 100 # Height of second pole +d = 20 # Distance rider hangs below cable +h = 10 # Minimum height above ground + +min_length, max_length = find_min_max_length(L, H1, H2, d, h) +print(f"Minimum length: {min_length:.6f} meters") +print(f"Maximum length: {max_length:.6f} meters") diff --git a/kattis/18-2-2025/compile_flags.txt b/kattis/18-2-2025/compile_flags.txt new file mode 100644 index 0000000..7a6e5ad --- /dev/null +++ b/kattis/18-2-2025/compile_flags.txt @@ -0,0 +1,6 @@ +-std=c++23 +-Wall +-Wextra +-Wpedantic +-Wshadow +-DLOCAL diff --git a/kattis/18-2-2025/i.cc b/kattis/18-2-2025/i.cc new file mode 100644 index 0000000..55809fd --- /dev/null +++ b/kattis/18-2-2025/i.cc @@ -0,0 +1,82 @@ +#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()); +} + +#ifdef LOCAL +#define dbgln(...) prln(...) +#define dbg(...) pr(...) +#endif + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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; + vec a(n); + for (auto& e : a) + cin >> e; + + ld ans = 0.0; + + ld prefix = 0; + for (int i = 0; i < n; ++i) { + prefix += a[i]; + ans = max(ans, prefix / (i + 1)); + } + + ld suffix = 0; + for (int i = n - 1; i >= 0; --i) { + suffix += a[i]; + ans = max(ans, suffix / (n - i)); + } + + cout << ans << endl; +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + int t = 1; + // cin >> t; + + while (t--) { + solve(); + } + + return 0; +} +// }}} diff --git a/kattis/18-2-2025/i.in b/kattis/18-2-2025/i.in new file mode 100644 index 0000000..debd83b --- /dev/null +++ b/kattis/18-2-2025/i.in @@ -0,0 +1,2 @@ +4 +4 4 4 4 diff --git a/kattis/18-2-2025/i.out b/kattis/18-2-2025/i.out new file mode 100644 index 0000000..cd5b985 --- /dev/null +++ b/kattis/18-2-2025/i.out @@ -0,0 +1,4 @@ +4 + +[code]: 0 +[time]: 11.9913 ms diff --git a/kattis/18-2-2025/j.cc b/kattis/18-2-2025/j.cc new file mode 100644 index 0000000..06ad007 --- /dev/null +++ b/kattis/18-2-2025/j.cc @@ -0,0 +1,92 @@ +#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); +} + +#ifdef LOCAL +#define dbgln(...) prln(...) +#define dbg(...) pr(...) +#endif + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() { + string s; + cin >> s; + + int ans = 0; + + + + prln("{}", ans); +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + solve(); + + return 0; +} +// }}} diff --git a/kattis/18-2-2025/j.in b/kattis/18-2-2025/j.in new file mode 100644 index 0000000..ef779c3 --- /dev/null +++ b/kattis/18-2-2025/j.in @@ -0,0 +1 @@ +thenumberofgoodstringsis diff --git a/kattis/18-2-2025/j.out b/kattis/18-2-2025/j.out new file mode 100644 index 0000000..ab42f19 --- /dev/null +++ b/kattis/18-2-2025/j.out @@ -0,0 +1,4 @@ +0 + +[code]: 0 +[time]: 11.1344 ms \ No newline at end of file diff --git a/kattis/18-2-2025/j.py b/kattis/18-2-2025/j.py new file mode 100644 index 0000000..39d82e8 --- /dev/null +++ b/kattis/18-2-2025/j.py @@ -0,0 +1,17 @@ +s = input() +n = len(s) +last_occurrence = {} +total = 0 + +for right in range(n): + char = s[right] + left = last_occurrence.get(char, -1) + 1 + + unique_chars = set() + for l in range(right - 1, left - 1, -1): + if s[l] not in unique_chars: + total += 1 + unique_chars.add(s[l]) + last_occurrence[char] = right + +print(total) diff --git a/kattis/18-2-2025/k.cc b/kattis/18-2-2025/k.cc new file mode 100644 index 0000000..819f6b7 --- /dev/null +++ b/kattis/18-2-2025/k.cc @@ -0,0 +1,99 @@ +#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); +} + +#ifdef LOCAL +#define dbgln(...) prln(...) +#define dbg(...) pr(...) +#endif + +using ll = long long; +using ld = long double; +template +using vec = std::vector; +template +using arr = std::array; + +#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() { + ld w, g, h, r; + cin >> w >> g >> h >> r; + + auto dist = [](ld x1, ld y1, ld x2, ld y2) { + return sqrtl((y2 - y1) * (y2 - y1) + (x2 - x1) * (x2 - x1)); + }; + + ld x_star = w * (g - r) / (g + h - 2 * r); + ld min_dist = dist(0, g, x_star, r) + dist(x_star, r, w, h); + printf("%.7LF %.7LF\n", dist(0, g, w, h), min_dist); +} + +int main() { // {{{ + cin.tie(nullptr)->sync_with_stdio(false); + + int t = 1; + cin >> t; + + while (t--) { + solve(); + } + + return 0; +} +// }}} diff --git a/kattis/18-2-2025/k.in b/kattis/18-2-2025/k.in new file mode 100644 index 0000000..0a257e9 --- /dev/null +++ b/kattis/18-2-2025/k.in @@ -0,0 +1,3 @@ +2 +1000 100 100 20 +100 20 30 2 diff --git a/kattis/18-2-2025/k.out b/kattis/18-2-2025/k.out new file mode 100644 index 0000000..700d509 --- /dev/null +++ b/kattis/18-2-2025/k.out @@ -0,0 +1,5 @@ +1000.0000000 1012.7191121 +100.4987562 110.0727032 + +[code]: 0 +[time]: 11.523 ms \ No newline at end of file diff --git a/kattis/18-2-2025/k.py b/kattis/18-2-2025/k.py new file mode 100644 index 0000000..1c9c8ee --- /dev/null +++ b/kattis/18-2-2025/k.py @@ -0,0 +1,37 @@ +import math +from scipy.optimize import minimize_scalar + +def cable_length(x, L, H1, H2, d, h): + # Calculate the height of the cable at point x + y = H1 - (H1 - H2) * (x / L) + + # Ensure the rider is at least h + d meters above the ground + if y - d < h: + return float('inf') # Invalid configuration + + # Calculate the cable length + length1 = math.sqrt(x**2 + (H1 - y)**2) + length2 = math.sqrt((L - x)**2 + (H2 - y)**2) + return length1 + length2 + +def find_min_max_length(L, H1, H2, d, h): + # Find the minimum length + res_min = minimize_scalar(lambda x: cable_length(x, L, H1, H2, d, h), bounds=(0, L), method='bounded') + min_length = res_min.fun + + # Find the maximum length + res_max = minimize_scalar(lambda x: -cable_length(x, L, H1, H2, d, h), bounds=(0, L), method='bounded') + max_length = -res_max.fun + + return min_length, max_length + +# Example usage: +L = 1000 # Distance between poles +H1 = 100 # Height of first pole +H2 = 100 # Height of second pole +d = 20 # Distance rider hangs below cable +h = 20 # Minimum height above ground + +min_length, max_length = find_min_max_length(L, H1, H2, d, h) +print(f"Minimum length: {min_length:.6f} meters") +print(f"Maximum length: {max_length:.6f} meters")