#include<bits/stdc++.h> #define int long long usingnamespace std; using ll = longlong; using arr2 = array<int, 2>; using arr3 = array<int, 3>; constint N = (int)2e5 + 9; constint M = (int)1e5 + 9; constint mod = (int)1e9 + 7;
voidsolve(){ int n; cin >> n; vector<int> a(n + 5); bool f1 = 0, f2 = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; if (i == 1 && a[i] == 1) { f1 = 1; } if (i == n && a[i] == 1) { f2 = 1; } } if ((f1 || f2)) { cout << "Alice\n"; return ; } cout << "Bob\n"; }
#include<bits/stdc++.h> #define int long long usingnamespace std; using ll = longlong; using arr2 = array<int, 2>; using arr3 = array<int, 3>; constint N = (int)2e5 + 9; constint M = (int)1e5 + 9; constint mod = (int)1e9 + 7;
voidsolve(){ int n, k; cin >> n >> k; vector<int> a(n + 5); multiset<int> st; int mx = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; mx = max(mx, a[i]); } for (int i = 0; i <= mx + 1; i++) st.insert(i); for (int i = 1; i <= n; i++) { if (st.count(a[i])) { st.erase(st.find(a[i])); } } int mxx = *st.begin(); if (mxx >= k - 1) { cout << k - 1 << "\n"; return ; } cout << mxx << "\n"; }
#include<bits/stdc++.h> #define int long long usingnamespace std; using ll = longlong; using arr2 = array<int, 2>; using arr3 = array<int, 3>; constint N = (int)2e5 + 9; constint M = (int)1e5 + 9; constint mod = (int)1e9 + 7;
voidsolve(){ int n, m, k; cin >> n >> m >> k; int mx = 0; for (int i = 0; i <= k - 1; i++) { int t = i - 1 + i; int num = i; if (m - t <= num) { mx = max(mx, i + min(m - t, n - k)); } if (m + i >= 2 * t + 1) { mx = max(mx, i + min((m + 1 - i) / 2, n - k)); } } cout << mx + 1 << "\n"; }
#include<bits/stdc++.h> #define int long long usingnamespace std; using ll = longlong; using arr2 = array<int, 2>; using arr3 = array<int, 3>; constint N = (int)2e5 + 9; constint M = (int)1e5 + 9; constint mod = 998244353;
voidsolve(){ int n; cin >> n; vector<vector<int>> e(n + 5); for (int i = 1; i < n; i++) { int u, v; cin >> u >> v; e[u].push_back(v); e[v].push_back(u); } int mx = e[1].size() + 1; queue<arr2> q; vector<int> num(n + 5, 0); vector<bool> vis(n + 5); q.push({1, 1}); vis[1] = 1; while (q.size()) { auto[u, cnt] = q.front(); q.pop(); num[cnt]++; mx = max(mx, (int)e[u].size()); for (auto v : e[u]) { if (vis[v]) { continue; } vis[v] = 1; q.push({v, cnt + 1}); } } for (auto i : num) { mx = max(i, mx); } cout << mx << "\n"; }