This commit is contained in:
Barrett Ruth 2025-02-15 15:17:16 -05:00
parent 68422f90e1
commit 1214b129a5
17 changed files with 472 additions and 6 deletions

View file

@ -85,8 +85,10 @@ void solve() {
continue;
vec<int> nxt;
for (auto i : I) {
if (i * number >= sz<ll>(used))
if (i * number >= sz<ll>(used) || used[i * number])
continue;
nxt.pb(i * number);
used[i * number] = true;
if (i * number == x) {
++ans;
used.reset();
@ -96,10 +98,6 @@ void solve() {
nxt.pb(number);
break;
}
if (!used[i * number]) {
nxt.pb(i * number);
used[i * number] = true;
}
}
I.insert(I.end(), all(nxt));
}

View file

@ -8,4 +8,4 @@
3
[code]: 0
[time]: 11.9431 ms
[time]: 4.93455 ms

View file

@ -0,0 +1,9 @@
BasedOnStyle: Google
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLambdasOnASingleLine: false
AllowShortLoopsOnASingleLine: false

View file

@ -0,0 +1,8 @@
CompileFlags:
Add:
- -std=c++23
- -Wall
- -Wextra
- -Wpedantic
- -Wshadow
- -Wno-unknown-pragmas

130
kattis/11-02-2025/a.cc Normal file
View file

@ -0,0 +1,130 @@
#include <bits/stdc++.h> // {{{
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
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());
}
template <typename... Args>
void pr(std::format_string<Args...> fmt, Args&&... args) {
std::print(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void pr(std::format_string<Args...> fmt) {
std::print(fmt);
}
template <typename... Args>
void prln(std::format_string<Args...> fmt, Args&&... args) {
std::println(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void prln(std::format_string<Args...> 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 <typename T>
using vec = std::vector<T>;
#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<array<array<int, 5>, 5>> cards(n);
vec<array<bitset<3001>, 5>> bitsets(n);
vec<vec<int>> val_to_row(n, vec<int>(3001, -1));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < 5; ++j) {
for (auto& value : cards[i][j]) {
cin >> value;
val_to_row[i][value] = j;
bitsets[i][j][value] = true;
}
}
}
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
for (int k = 0; k < 5; ++k) {
for (auto& value : cards[i][k]) {
if (val_to_row[j][value] == -1)
continue;
auto both = bitsets[i][k] | bitsets[j][val_to_row[j][value]];
both[value] = false;
bool bad = false;
for (int c = 0; c < n && !bad; ++c) {
if (c == i || c == j)
continue;
for (int d = 0; d < 5; ++d) {
if ((bitsets[c][d] & both).count() == 5) {
bad = true;
break;
}
}
}
if (!bad) {
cout << value << endl;
cout << i + 1 << ' ' << j + 1 << endl;
return;
}
}
}
}
}
prln("no ties");
}
int main() { // {{{
cin.tie(nullptr)->sync_with_stdio(false);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
// }}}

12
kattis/11-02-2025/a.in Normal file
View file

@ -0,0 +1,12 @@
2
2189 2127 1451 982 835
150 1130 779 1326 1149
2697 2960 315 534 2537
2750 1771 875 1702 430
300 2657 2827 983 947
886 738 2569 1107 2758
2795 173 1718 2294 1732
1188 2273 2489 1251 2224
431 1050 1764 1193 1566
1194 1561 162 1673 2411

3
kattis/11-02-2025/a.out Normal file
View file

@ -0,0 +1,3 @@
no ties
[code]: 0
[time]: 11.3895 ms

95
kattis/11-02-2025/b.cc Normal file
View file

@ -0,0 +1,95 @@
#include <bits/stdc++.h> // {{{
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
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());
}
template <typename... Args>
void pr(std::format_string<Args...> fmt, Args &&...args) {
std::print(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void pr(std::format_string<Args...> fmt) {
std::print(fmt);
}
template <typename... Args>
void prln(std::format_string<Args...> fmt, Args &&...args) {
std::println(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void prln(std::format_string<Args...> 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 <typename T>
using vec = std::vector<T>;
#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()
// }}}
auto lcm = [](int a, int b) {
return a * b;
};
void solve() {
int p, q, s;
cin >> p >> q >> s;
auto lcm = [](int a, int b) {
return a * b / __gcd(a, b);
};
if (lcm(p, q) <= s)
prln("yes");
else
prln("no");
prln();
}
int main() { // {{{
cin.tie(nullptr)->sync_with_stdio(false);
int t = 1;
while (t--) {
solve();
}
return 0;
}
// }}}

1
kattis/11-02-2025/b.in Normal file
View file

@ -0,0 +1 @@
2 5 20

5
kattis/11-02-2025/b.out Normal file
View file

@ -0,0 +1,5 @@
yes
[code]: 0
[time]: 3.85022 ms

84
kattis/11-02-2025/c.cc Normal file
View file

@ -0,0 +1,84 @@
#include <bits/stdc++.h> // {{{
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
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());
}
template <typename... Args>
void pr(std::format_string<Args...> fmt, Args&&... args) {
std::print(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void pr(std::format_string<Args...> fmt) {
std::print(fmt);
}
template <typename... Args>
void prln(std::format_string<Args...> fmt, Args&&... args) {
std::println(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void prln(std::format_string<Args...> 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 <typename T>
using vec = std::vector<T>;
#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;
}
// }}}

0
kattis/11-02-2025/c.in Normal file
View file

0
kattis/11-02-2025/c.out Normal file
View file

View file

@ -0,0 +1,5 @@
-std=c++23
-Wall
-Wextra
-Wpedantic
-Wshadow

105
kattis/11-02-2025/f.cc Normal file
View file

@ -0,0 +1,105 @@
#include <bits/stdc++.h> // {{{
// https://codeforces.com/blog/entry/96344
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
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());
}
template <typename... Args>
void pr(std::format_string<Args...> fmt, Args&&... args) {
std::print(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void pr(std::format_string<Args...> fmt) {
std::print(fmt);
}
template <typename... Args>
void prln(std::format_string<Args...> fmt, Args&&... args) {
std::println(fmt, std::forward<Args>(args)...);
}
template <typename... Args>
void prln(std::format_string<Args...> 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 <typename T>
using vec = std::vector<T>;
#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 s;
cin >> s;
int last = 0;
int ls = 0;
for (int i = 0; i <= sz<int>(s); ++i) {
if (s[i] == 'L') {
++ls;
} else {
last = last + ls + 1;
cout << last << '\n';
int x = last;
for (int j = 0; j < ls; ++j) {
--x;
cout << x << '\n';
}
ls = 0;
}
}
}
int main() { // {{{
cin.tie(nullptr)->sync_with_stdio(false);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
// }}

2
kattis/11-02-2025/f.in Normal file
View file

@ -0,0 +1,2 @@
6
RRRLL

9
kattis/11-02-2025/f.out Normal file
View file

@ -0,0 +1,9 @@
1
2
3
6
5
4
[code]: 0
[time]: 16.3887 ms