codeforces rounds

This commit is contained in:
Barrett Ruth 2025-09-17 22:22:41 -04:00
parent 6746faf742
commit 4ec6d74e65
88 changed files with 2039 additions and 13 deletions

86
codeforces/634/1335a.cc Normal file
View file

@ -0,0 +1,86 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T> constexpr T MIN = std::numeric_limits<T>::min();
template <typename T> constexpr T MAX = std::numeric_limits<T>::max();
template <typename T> [[nodiscard]] static T sc(auto &&x) {
return static_cast<T>(x);
}
template <typename T> [[nodiscard]] static T sz(auto &&x) {
return static_cast<T>(x.size());
}
#endif
static void NO() { std::cout << "NO\n"; }
static void YES() { std::cout << "YES\n"; }
template <typename T> using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
u32 n;
cin >> n;
u32 ans = (n + 1) / 2 - 1;
println("{}", ans);
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

97
codeforces/634/1335b.cc Normal file
View file

@ -0,0 +1,97 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T> constexpr T MIN = std::numeric_limits<T>::min();
template <typename T> constexpr T MAX = std::numeric_limits<T>::max();
template <typename T> [[nodiscard]] static T sc(auto &&x) {
return static_cast<T>(x);
}
template <typename T> [[nodiscard]] static T sz(auto &&x) {
return static_cast<T>(x.size());
}
#endif
static void NO() { std::cout << "NO\n"; }
static void YES() { std::cout << "YES\n"; }
template <typename T> using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
u32 n, a, b;
cin >> n >> a >> b;
string ans(n, 'a');
char c = 'a';
for (u32 i = a - 1, count = 0; count < b; ++count, --i) {
ans[i] = c;
++c;
}
for (u32 i = a; i < n; ++i) {
ans[i] = ans[i - b];
}
println("{}", ans);
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

117
codeforces/634/1335c.cc Normal file
View file

@ -0,0 +1,117 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T> constexpr T MIN = std::numeric_limits<T>::min();
template <typename T> constexpr T MAX = std::numeric_limits<T>::max();
template <typename T> [[nodiscard]] static T sc(auto &&x) {
return static_cast<T>(x);
}
template <typename T> [[nodiscard]] static T sz(auto &&x) {
return static_cast<T>(x.size());
}
#endif
static void NO() { std::cout << "NO\n"; }
static void YES() { std::cout << "YES\n"; }
template <typename T> using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
u32 n;
cin >> n;
vec<u32> a(n);
map<u32, u32> f;
for (auto &e : a) {
cin >> e;
++f[e];
}
i32 l = 0, r = n / 2;
while (l <= r) {
i32 m = l + (r - l) / 2;
bool ok = false;
for (auto &[number, frequency] : f) {
if (frequency >= m) {
i32 rest = (i32)f.size() - (frequency == m);
if (rest >= m) {
ok = true;
break;
}
}
}
if (ok) {
l = m + 1;
} else {
r = m - 1;
}
}
println("{}", r);
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

0
codeforces/634/1335d.cc Normal file
View file

88
codeforces/634/1335e1.cc Normal file
View file

@ -0,0 +1,88 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T> constexpr T MIN = std::numeric_limits<T>::min();
template <typename T> constexpr T MAX = std::numeric_limits<T>::max();
template <typename T> [[nodiscard]] static T sc(auto &&x) {
return static_cast<T>(x);
}
template <typename T> [[nodiscard]] static T sz(auto &&x) {
return static_cast<T>(x.size());
}
#endif
static void NO() { std::cout << "NO\n"; }
static void YES() { std::cout << "YES\n"; }
template <typename T> using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
u32 n;
cin >> n;
vec<u32> a(n);
for (auto &e : a)
cin >> e;
cout << "hi\n";
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

123
codeforces/634/1335e2.cc Normal file
View file

@ -0,0 +1,123 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u16 = uint16_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T> constexpr T MIN = std::numeric_limits<T>::min();
template <typename T> constexpr T MAX = std::numeric_limits<T>::max();
template <typename T> [[nodiscard]] static T sc(auto &&x) {
return static_cast<T>(x);
}
template <typename T> [[nodiscard]] static T sz(auto &&x) {
return static_cast<T>(x.size());
}
#endif
static void NO() { std::cout << "NO\n"; }
static void YES() { std::cout << "YES\n"; }
template <typename T> using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
u32 n;
cin >> n;
vec<u16> a(n);
for (auto &e : a)
cin >> e;
vec<vec<u32>> f(200 + 1);
vec<vec<u32>> pref(200 + 1, vec<u32>(n + 1, 0));
u32 ans = 0;
for (u32 i = 1; i <= n; ++i) {
f[a[i - 1]].push_back(i);
for (u32 x = 1; x <= 200; ++x) {
pref[x][i] = pref[x][i - 1];
}
ans = max(ans, ++pref[a[i - 1]][i]);
}
for (u16 x = 1; x <= 200; ++x) {
for (u32 A = 1; A <= f[x].size() / 2; ++A) {
i32 l = f[x][A - 1] + 1;
i32 r = f[x][f[x].size() - A] - 1;
if (l > r) {
continue;
}
u32 B = 0;
for (u16 y = 1; y <= 200; ++y) {
B = max(B, pref[y][r] - pref[y][l - 1]);
}
ans = max(ans, 2 * A + B);
}
}
println("{}", ans);
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

91
codeforces/634/1335f.cc Normal file
View file

@ -0,0 +1,91 @@
#include <bits/stdc++.h> // {{{
#include <version>
#ifdef __cpp_lib_ranges_enumerate
#include <ranges>
namespace rv = std::views;
namespace rs = std::ranges;
#endif
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f64 = double;
using f128 = long double;
#if __cplusplus >= 202002L
template <typename T>
constexpr T MIN = std::numeric_limits<T>::min();
template <typename T>
constexpr T MAX = std::numeric_limits<T>::max();
template <typename T>
[[nodiscard]] static T sc(auto&& x) {
return static_cast<T>(x);
}
template <typename T>
[[nodiscard]] static T sz(auto&& x) {
return static_cast<T>(x.size());
}
#endif
static void NO() {
std::cout << "NO\n";
}
static void YES() {
std::cout << "YES\n";
}
template <typename T>
using vec = std::vector<T>;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ff first
#define ss second
#ifdef LOCAL
#define db(...) std::print(__VA_ARGS__)
#define dbln(...) std::println(__VA_ARGS__)
#else
#define db(...)
#define dbln(...)
#endif
// }}}
void solve() {
}
int main() { // {{{
std::cin.exceptions(std::cin.failbit);
#ifdef LOCAL
std::cerr.rdbuf(std::cout.rdbuf());
std::cout.setf(std::ios::unitbuf);
std::cerr.setf(std::ios::unitbuf);
#else
std::cin.tie(nullptr)->sync_with_stdio(false);
#endif
u32 tc = 1;
std::cin >> tc;
for (u32 t = 0; t < tc; ++t) {
solve();
}
return 0;
}
// }}}

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1 @@
3 10 5 16 8 4 2 1

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1,5 @@
3
[code]: 0
[time]: 2.44 ms
[debug]: false
[ok]: false

View file

@ -0,0 +1 @@
3 10 5 16 8 4 2 1

View file

@ -0,0 +1 @@
ATTCGGGA

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1 @@
ATTCGGGA

View file

@ -0,0 +1,4 @@
[code]: 124 (TIMEOUT)
[time]: 2001.50 ms
[debug]: false

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1,13 @@
6
8
1 1 2 2 3 2 1 1
3
1 3 3
4
1 10 10 1
1
26
2
2 1
3
1 1 1

View file

@ -0,0 +1,6 @@
7
2
4
1
1
3

View file

@ -0,0 +1,13 @@
6
8
1 1 2 2 3 2 1 1
3
1 3 3
4
1 10 10 1
1
26
2
2 1
3
1 1 1

View file

@ -0,0 +1,11 @@
hi
hi
hi
hi
hi
hi
[code]: 0
[time]: 4.03 ms
[debug]: false
[ok]: false

View file

@ -0,0 +1,6 @@
7
2
4
1
1
3

View file

@ -0,0 +1,13 @@
6
8
1 1 2 2 3 2 1 1
3
1 3 3
4
1 10 10 1
1
26
2
2 1
3
1 1 1

View file

@ -0,0 +1,6 @@
7
2
4
1
1
3

View file

@ -0,0 +1,13 @@
6
8
1 1 2 2 3 2 1 1
3
1 3 3
4
1 10 10 1
1
26
2
2 1
3
1 1 1

View file

@ -0,0 +1,11 @@
7
2
4
1
1
3
[code]: 0
[time]: 3.38 ms
[debug]: false
[ok]: true

View file

@ -0,0 +1,6 @@
7
2
4
1
1
3

View file

@ -0,0 +1,17 @@
8
3
-2 3 -3
1
0
2
0 1
1
-99
4
10 -2 -3 7
5
-1 -2 -3 -4 -5
6
-41 22 -69 73 -15 -50
12
1 2 3 4 5 6 7 8 9 10 11 12

View file

@ -0,0 +1,8 @@
8
0
1
99
22
15
270
78

View file

@ -0,0 +1,17 @@
8
3
-2 3 -3
1
0
2
0 1
1
-99
4
10 -2 -3 7
5
-1 -2 -3 -4 -5
6
-41 22 -69 73 -15 -50
12
1 2 3 4 5 6 7 8 9 10 11 12

View file

@ -0,0 +1,13 @@
-2 3 -3
0
0 1
-99
10 -2 -3 7
-1 -2 -3 -4 -5
-41 22 -69 73 -15 -50
1 2 3 4 5 6 7 8 9 10 11 12
[code]: 0
[time]: 2.65 ms
[debug]: false
[matches]: false

View file

@ -0,0 +1,8 @@
8
0
1
99
22
15
270
78

View file

@ -0,0 +1 @@
5 5 7

View file

@ -0,0 +1 @@
YES

View file

@ -0,0 +1 @@
7 7 5

View file

@ -0,0 +1 @@
NO

View file

@ -0,0 +1,3 @@
2
5 5 7
7 7 5

View file

@ -0,0 +1,7 @@
17
19
[code]: 0
[time]: 2.68 ms
[debug]: false
[ok]: false

View file

@ -0,0 +1,2 @@
YES
NO