Codeforces Round #645 (Div. 2)
A. Park Lighting
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (register int i = a; i <= b; i++) ll n, m; void solve() { cin >> n >> m; cout << (n * m) / 2 + (n * m) % 2 << endl; } int main() { int t = 1; cin >> t; while (t--) { solve(); } }
B. Maria Breaks the Self-isolation
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (register int i = a; i <= b; i++) ll n, a[100010], ans; void solve() { cin >> n; rep(i, 1, n) cin >> a[i]; sort(a + 1, a + n + 1); ans = 0; rep(i, 1, n) if (a[i] <= i) ans = i; cout << ans + 1 << endl; } int main() { int t = 1; cin >> t; while (t--) { solve(); } }
C. Celex Update
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (register int i = a; i <= b; i++) ll xa, xb, ya, yb; void solve() { cin >> xa >> ya >> xb >> yb; cout << (xb - xa) * (yb - ya) + 1 << endl; } int main() { int t = 1; cin >> t; while (t--) { solve(); } }
D. The Best Vacation
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i, a, b) for (register int i = a; i <= b; i++) ll n, x, d[400010]; ll id, cnt, tmp, ans; void solve() { cin >> n >> x; id = cnt = ans = 0; rep(i, 1, n) { cin >> d[i]; d[i + n] = d[i]; } rep(i, 1, n * 2) { cnt += d[i]; tmp += (d[i] + 1) * d[i] / 2; if (cnt >= x) { while (cnt - x > d[id + 1]) { cnt -= d[++id]; tmp -= (d[id] + 1) * d[id] / 2; } ans = max(ans, tmp - (cnt - x + 1) * (cnt - x) / 2); cnt -= d[++id]; tmp -= (d[id] + 1) * d[id] / 2; } } cout << ans << endl; } int main() { int t = 1; // cin >> t; while (t--) { solve(); } }