diff --git a/Codeforces Round 926 (Div. 2)/C. Sasha and the Casino.cpp b/Codeforces Round 926 (Div. 2)/C. Sasha and the Casino.cpp new file mode 100644 index 0000000..31387e0 --- /dev/null +++ b/Codeforces Round 926 (Div. 2)/C. Sasha and the Casino.cpp @@ -0,0 +1,122 @@ +/* Problem URL: https://codeforces.com/problemset/problem/1929/C */ + +#include +#include +#include + +using namespace std; +using namespace __gnu_pbds; + +template > +using ordered_set = tree; + +#define V vector + +#define rmin(a, b) a = min(a, b) +#define rmax(a, b) a = max(a, b) + +#define rep(i, lim) for (int i = 0; i < (lim); i++) +#define nrep(i, s, lim) for (int i = s; i < (lim); i++) + +#define repv(i, v) for (auto &i : (v)) +#define fillv(v) for (auto &itr_ : (v)) { cin >> itr_; } +#define sortv(v) sort(v.begin(), v.end()) +#define all(v) (v).begin(), (v).end() + +using vi = vector; +using vvi = vector; +using vvvi = vector; +using vvvvi = vector; + +using ll = long long; + +using vl = vector; +using vvl = vector; +using vvvl = vector; +using vvvvl = vector; + +template +auto operator<<(ostream &os, const vector &vec)->ostream& { + os << vec[0]; + for (size_t i = 1; i < vec.size(); i++) { + os << ' ' << vec[i]; + } + os << '\n'; + return os; +} + +template +auto operator>>(istream &is, vector &vec)->istream& { + for (auto &i : vec) { + is >> i; + } + return is; +} + +template +auto operator<<(ostream &os, const vector> &vec)->ostream& { + for (auto &i : vec) { + os << i[0]; + for (size_t j = 1; j < i.size(); j++) { + os << ' ' << i[j]; + } + os << '\n'; + } + return os; +} + +template +auto operator>>(istream &is, vector> &vec)->istream& { + for (auto &i : vec) { + for (auto &j : i) { + is >> j; + } + } + return is; +} + +const int oo = INT32_MAX >> 1; +const ll OO = INT64_MAX >> 1; + + +void pre() +{ + +} + +#define TEST 1 + +void solve() +{ + ll k, x, a; + cin >> k >> x >> a; + + ll cost = 1; + ll cur = 1; + + rep(i, x - 1) { + cur = cost / (k - 1) + 1; + cost += cur; + + if (cost > a) { + cout << "NO\n"; + return; + } + } + + cout << ((a - cost) * k > a ? "YES\n" : "NO\n"); +} + +int main() +{ + ios::sync_with_stdio(false); + cin.tie(nullptr); + + pre(); + + int t; + (TEST && cin >> t) || (t = 1); + while (t--) { + solve(); + } +} diff --git a/Codeforces Round 962 (Div. 3)/D. Fun.cpp b/Codeforces Round 962 (Div. 3)/D. Fun.cpp new file mode 100644 index 0000000..0cc3038 --- /dev/null +++ b/Codeforces Round 962 (Div. 3)/D. Fun.cpp @@ -0,0 +1,115 @@ +/* Problem URL: https://codeforces.com/problemset/problem/1996/D */ + +#include +#include +#include + +using namespace std; +using namespace __gnu_pbds; + +template > +using ordered_set = tree; + +#define V vector + +#define rmin(a, b) a = min(a, b) +#define rmax(a, b) a = max(a, b) + +#define rep(i, lim) for (int i = 0; i < (lim); i++) +#define nrep(i, s, lim) for (int i = s; i < (lim); i++) + +#define repv(i, v) for (auto &i : (v)) +#define fillv(v) for (auto &itr_ : (v)) { cin >> itr_; } +#define sortv(v) sort(v.begin(), v.end()) +#define all(v) (v).begin(), (v).end() + +using vi = vector; +using vvi = vector; +using vvvi = vector; +using vvvvi = vector; + +using ll = long long; + +using vl = vector; +using vvl = vector; +using vvvl = vector; +using vvvvl = vector; + +template +auto operator<<(ostream &os, const vector &vec)->ostream& { + os << vec[0]; + for (size_t i = 1; i < vec.size(); i++) { + os << ' ' << vec[i]; + } + os << '\n'; + return os; +} + +template +auto operator>>(istream &is, vector &vec)->istream& { + for (auto &i : vec) { + is >> i; + } + return is; +} + +template +auto operator<<(ostream &os, const vector> &vec)->ostream& { + for (auto &i : vec) { + os << i[0]; + for (size_t j = 1; j < i.size(); j++) { + os << ' ' << i[j]; + } + os << '\n'; + } + return os; +} + +template +auto operator>>(istream &is, vector> &vec)->istream& { + for (auto &i : vec) { + for (auto &j : i) { + is >> j; + } + } + return is; +} + +const int oo = INT32_MAX >> 1; +const ll OO = INT64_MAX >> 1; + +void pre() +{ + +} + +#define TEST 1 + +void solve() +{ + int n, x; + cin >> n >> x; + + ll ans = 0; + nrep(a, 1, n + 1) { + nrep(b, 1, n / a + 1) { + ans += max(min(x - (ll)a - b, ((ll)n - a * b) / (a + b)), 0LL); + } + } + + cout << ans << '\n'; +} + +int main() +{ + ios::sync_with_stdio(false); + cin.tie(nullptr); + + pre(); + + int t; + (TEST && cin >> t) || (t = 1); + while (t--) { + solve(); + } +} diff --git a/TODO.md b/TODO.md index e9f8774..4f24869 100644 --- a/TODO.md +++ b/TODO.md @@ -110,6 +110,11 @@ Official divs from codeforces Another problem that's kinda interesting, but I guess my head is not working recently, I'll get back to it once I can finally work again. + + - [ ] [D. Prime XOR Coloring](https://codeforces.com/problemset/problem/1991/D) + + I honestly have no idea how to solve this one, I might have to look at the + editorial after. - Div 3