Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions dongha/250126/15889.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n;
std::cin >> n;
std::vector<int> a(n);
for (int i = 0; i < n; ++i) {
std::cin >> a[i];
}
if (n == 1) {
std::cout << "권병장님, 중대장님이 찾으십니다\n";
return 0;
}
std::vector<int> b(n);
for (int i = 0; i < n - 1; ++i) {
std::cin >> b[i];
}
int max = 0;
for (int i = 0; i < n - 1; ++i) {
if (max >= a[i]) {
max = std::max(max, a[i] + b[i]);
}
}

if (max >= a.back()) {
std::cout << "권병장님, 중대장님이 찾으십니다\n";
} else {
std::cout << "엄마 나 전역 늦어질 것 같아\n";
}
}
23 changes: 23 additions & 0 deletions dongha/250126/2302.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n, m, ans = 1;
std::cin >> n >> m;
std::vector<int> a(m + 1, 0), dp(n + 5, 0);
for (int i = 0; i < m; ++i) {
std::cin >> a[i + 1];
}
a.push_back(n + 1);
dp[0] = 1;
dp[1] = 1;
dp[2] = 2;
for (int i = 3; i <= n; ++i) {
dp[i] = dp[i - 1] + dp[i - 2];
}
for (int i = 1; i < m + 2; ++i) {
ans *= dp[a[i] - a[i - 1] - 1];
}
std::cout << ans << "\n";
}
51 changes: 51 additions & 0 deletions dongha/250126/5464.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n, m;
std::cin >> n >> m;
std::vector<int> a(n), c(n), w(m), h(m);
for (int i = 0; i < n; ++i) {
std::cin >> c[i];
}
for (int i = 0; i < m; ++i) {
std::cin >> w[i];
}
int ans = 0;
std::queue<int> q;
for (int i = 0; i < 2 * m; ++i) {
int o;
std::cin >> o;
if (o > 0) {
o--;
int l = -1;
for (int i = 0; i < n; ++i) {
if (a[i] == 0) {
l = i;
break;
}
}
if (l == -1 || !q.empty()) {
q.push(o);
} else {
a[l] = 1;
h[o] = l;
ans += c[l] * w[o];
}
} else {
o = -o - 1;
int l = h[o];
a[l] = 0;
if (!q.empty()) {
int b = q.front();
q.pop();
a[l] = 1;
h[b] = l;
ans += c[l] * w[b];
}
}
}

std::cout << ans << "\n";
}
28 changes: 28 additions & 0 deletions dongha/250126/7795.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#include <bits/stdc++.h>
using i64 = long long;

void solve() {
int n, m;
std::cin >> n >> m;
std::vector<int> a(n);
for (int i = 0; i < n; ++i) {
std::cin >> a[i];
}
std::sort(a.begin(), a.end());
int ans = 0;
for (int i = 0; i < m; ++i) {
int x;
std::cin >> x;
ans += a.end() - upper_bound(a.begin(), a.end(), x);
}

std::cout << ans << "\n";
}
int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int t;
std::cin >> t;
while (t--) {
solve();
}
}
24 changes: 24 additions & 0 deletions dongha/250226/1158.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n, k;
std::cin >> n >> k;
k--;
std::deque<int> dq;
for (int i = 1; i <= n; ++i) {
dq.push_back(i);
}

std::cout << "<";
while (!dq.empty()) {
for (int i = 0; i < k; ++i) {
dq.push_back(dq.front());
dq.pop_front();
}

std::cout << dq.front() << ",>"[dq.size() == 1] << " ";
dq.pop_front();
}
}
31 changes: 31 additions & 0 deletions dongha/250226/14397.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n, m;
std::cin >> n >> m;
std::vector a(n, std::vector<char>(m));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
std::cin >> a[i][j];
}
}

int ans = 0;
int dy[6] = {-1, -1, 0, 0, 1, 1};
int dx[2][6] = {{0, -1, -1, 1, 0, -1}, {0, 1, -1, 1, 0, 1}};
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
if (a[i][j] == '.') continue;
for (int dir = 0; dir < 6; ++dir) {
int ny = i + dy[dir];
int nx = j + dx[i % 2][dir];
if (ny < 0 || ny >= n || nx < 0 || nx >= m) continue;
ans += a[ny][nx] == '.';
}
}
}

std::cout << ans << "\n";
}
24 changes: 24 additions & 0 deletions dongha/250226/15988.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include <bits/stdc++.h>
using i64 = long long;

constexpr int M = 1e9 + 9;
void solve(std::vector<i64>& dp) {
int n;
std::cin >> n;
std::cout << dp[n] << "\n";
}
int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int t;
std::cin >> t;
std::vector<i64> dp(1000001);
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for (int i = 4; i <= 1000000; ++i) {
dp[i] = (dp[i - 3] + dp[i - 2] + dp[i - 1]) % M;
}
while (t--) {
solve(dp);
}
}
38 changes: 38 additions & 0 deletions dongha/250226/17245.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#include <bits/stdc++.h>
using i64 = long long;

int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n;
i64 tot = 0;
std::cin >> n;
std::vector a(n, std::vector<i64>(n));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
std::cin >> a[i][j];
tot += a[i][j];
}
}

auto ok = [&](i64 x) {
i64 cnt = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
cnt += std::min(a[i][j], x);
}
}

return 2 * cnt >= tot;
};

i64 lo, hi;
for (lo = -1, hi = 1e10; lo + 1 < hi;) {
i64 mid = (lo + hi) / 2;
if (ok(mid))
hi = mid;
else
lo = mid;
}

std::cout << hi << "\n";
}