kattis
This commit is contained in:
parent
68422f90e1
commit
1214b129a5
17 changed files with 472 additions and 6 deletions
|
|
@ -85,8 +85,10 @@ void solve() {
|
||||||
continue;
|
continue;
|
||||||
vec<int> nxt;
|
vec<int> nxt;
|
||||||
for (auto i : I) {
|
for (auto i : I) {
|
||||||
if (i * number >= sz<ll>(used))
|
if (i * number >= sz<ll>(used) || used[i * number])
|
||||||
continue;
|
continue;
|
||||||
|
nxt.pb(i * number);
|
||||||
|
used[i * number] = true;
|
||||||
if (i * number == x) {
|
if (i * number == x) {
|
||||||
++ans;
|
++ans;
|
||||||
used.reset();
|
used.reset();
|
||||||
|
|
@ -96,10 +98,6 @@ void solve() {
|
||||||
nxt.pb(number);
|
nxt.pb(number);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!used[i * number]) {
|
|
||||||
nxt.pb(i * number);
|
|
||||||
used[i * number] = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
I.insert(I.end(), all(nxt));
|
I.insert(I.end(), all(nxt));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,4 +8,4 @@
|
||||||
3
|
3
|
||||||
|
|
||||||
[code]: 0
|
[code]: 0
|
||||||
[time]: 11.9431 ms
|
[time]: 4.93455 ms
|
||||||
9
kattis/11-02-2025/.clang-format
Normal file
9
kattis/11-02-2025/.clang-format
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
BasedOnStyle: Google
|
||||||
|
AllowShortBlocksOnASingleLine: false
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortCompoundRequirementOnASingleLine: false
|
||||||
|
AllowShortEnumsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: false
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLambdasOnASingleLine: false
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
8
kattis/11-02-2025/.clangd
Normal file
8
kattis/11-02-2025/.clangd
Normal 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
130
kattis/11-02-2025/a.cc
Normal 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
12
kattis/11-02-2025/a.in
Normal 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
3
kattis/11-02-2025/a.out
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
no ties
|
||||||
|
[code]: 0
|
||||||
|
[time]: 11.3895 ms
|
||||||
95
kattis/11-02-2025/b.cc
Normal file
95
kattis/11-02-2025/b.cc
Normal 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
1
kattis/11-02-2025/b.in
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
2 5 20
|
||||||
5
kattis/11-02-2025/b.out
Normal file
5
kattis/11-02-2025/b.out
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
yes
|
||||||
|
|
||||||
|
|
||||||
|
[code]: 0
|
||||||
|
[time]: 3.85022 ms
|
||||||
84
kattis/11-02-2025/c.cc
Normal file
84
kattis/11-02-2025/c.cc
Normal 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
0
kattis/11-02-2025/c.in
Normal file
0
kattis/11-02-2025/c.out
Normal file
0
kattis/11-02-2025/c.out
Normal file
5
kattis/11-02-2025/compile_flags.txt
Normal file
5
kattis/11-02-2025/compile_flags.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
-std=c++23
|
||||||
|
-Wall
|
||||||
|
-Wextra
|
||||||
|
-Wpedantic
|
||||||
|
-Wshadow
|
||||||
105
kattis/11-02-2025/f.cc
Normal file
105
kattis/11-02-2025/f.cc
Normal 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
2
kattis/11-02-2025/f.in
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
6
|
||||||
|
RRRLL
|
||||||
9
kattis/11-02-2025/f.out
Normal file
9
kattis/11-02-2025/f.out
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
6
|
||||||
|
5
|
||||||
|
4
|
||||||
|
|
||||||
|
[code]: 0
|
||||||
|
[time]: 16.3887 ms
|
||||||
Loading…
Add table
Add a link
Reference in a new issue