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;
|
||||
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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@
|
|||
3
|
||||
|
||||
[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