inline void solve() {
if (n > m) {
swap(n, m);
}
if (n == 1) {
if (m > 2) {
printf("-1\n");
return ;
} else {
printf("%d\n", m - 1);
return ;
}
} else {
if ((m - n) % 2 == 0) {
printf("%lld\n", (n - 1) * 2 + (m - n) * 2);
} else {
printf("%lld\n", (n - 1) * 2 + (m - n) * 2 - 1);
}
}
}
Problem - B - Codeforceshttps://codeforces.com/contest/1668/problem/B
inline bool solve() {
for (int i = 1; i <= n; i++) {
scanf("%lld", s + i);
}
sort(s + 1, s + n + 1);
ll sum = n + s[n] * 2;
for (int i = n - 1; i > 1; i--) {
sum += s[i];
}
if (m >= sum) {
return true;
}
return false;
}
Problem - C - Codeforceshttps://codeforces.com/contest/1668/problem/C
inline void solve() {
ll ans = 1e18;
for (int i = 1; i <= n; i++) {
ll last = 0, tot = 0;
for (int j = i + 1; j <= n; j++) {
ll t = ceil((last + 1) * 1.0 / a[j]);
tot += t;
last = t * a[j];
}
last = 0;
for (int j = i - 1; j >= 1; j--) {
ll t = ceil((last + 1) * 1.0 / a[j]);
tot += t;
last = t * a[j];
}
ans = min(ans, tot);
}
printf("%lld\n", ans);
}