Submission #75823886
Source Code Expand
#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
#define rep(i, s, e) for (ll i = (s); i <= (e); i++)
#define all(v) v.begin(), v.end()
#define pb push_back
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using P = array<ll, 2>;
ll n, q, k, a, b, c, s, e, dt[2020];
vector<ll> sd;
vector<array<ll, 4>> qr;
ll f() {
ll cm = 0, cs = 0, cw = 0, pt = 0;
for (auto [i, a, b, c] : qr) {
for (; pt < k && sd[pt] >= i; pt++)
cw++;
if (!cm && cw)
cm++, cw--;
if (!cm && cs)
cm++, cs--;
if (cm < a)
cw -= a - cm, cm = a;
if (cs < c)
cw -= c - cs, cs = c;
if (a + b + c > cw + cm + cs)
return 0;
if (cw < 0)
return 0;
}
return 1;
}
int main() {
cin.tie(0)->sync_with_stdio(0);
cin >> n >> q;
rep(i, 1, q) {
cin >> k >> a;
if (k < 2) {
if (!dt[a])
dt[a] = i;
} else {
cin >> b >> c;
qr.push_back({i, a, b, c});
}
}
rep(i, 1, n) {
if (!dt[i])
dt[i] = 1e9;
sd.push_back(dt[i]);
}
sort(all(sd));
reverse(all(sd));
reverse(all(qr));
k = n;
if (!f()) {
cout << -1;
return 0;
}
for (s = 0, e = n; s < e;) {
k = s + e >> 1;
if (f())
e = k;
else
s = k + 1;
}
cout << e;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | H - CUBRID HA Load Balance |
| User | iAi |
| Language | C++23 (GCC 15.2.0) |
| Score | 100 |
| Code Size | 1298 Byte |
| Status | AC |
| Exec Time | 2 ms |
| Memory | 3708 KiB |
Compile Error
./Main.cpp: In function 'int main()':
./Main.cpp:61:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
61 | k = s + e >> 1;
| ~~^~~
Judge Result
| Set Name | Sample | All | ||
|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||
| Status | AC |
|
| Set Name | Test Cases |
|---|---|
| Sample | |
| All | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01 | AC | 2 ms | 3528 KiB |
| 02 | AC | 1 ms | 3528 KiB |
| 03 | AC | 1 ms | 3400 KiB |
| 04 | AC | 1 ms | 3456 KiB |
| 05 | AC | 1 ms | 3484 KiB |
| 06 | AC | 1 ms | 3448 KiB |
| 07 | AC | 1 ms | 3676 KiB |
| 08 | AC | 1 ms | 3400 KiB |
| 09 | AC | 1 ms | 3448 KiB |
| 10 | AC | 1 ms | 3568 KiB |
| 11 | AC | 1 ms | 3448 KiB |
| 12 | AC | 1 ms | 3580 KiB |
| 13 | AC | 1 ms | 3516 KiB |
| 14 | AC | 1 ms | 3384 KiB |
| 15 | AC | 1 ms | 3580 KiB |
| 16 | AC | 1 ms | 3676 KiB |
| 17 | AC | 1 ms | 3544 KiB |
| 18 | AC | 1 ms | 3576 KiB |
| 19 | AC | 1 ms | 3384 KiB |
| 20 | AC | 1 ms | 3528 KiB |
| 21 | AC | 1 ms | 3656 KiB |
| 22 | AC | 1 ms | 3672 KiB |
| 23 | AC | 1 ms | 3388 KiB |
| 24 | AC | 1 ms | 3484 KiB |
| 25 | AC | 1 ms | 3576 KiB |
| 26 | AC | 1 ms | 3444 KiB |
| 27 | AC | 1 ms | 3448 KiB |
| 28 | AC | 1 ms | 3652 KiB |
| 29 | AC | 1 ms | 3528 KiB |
| 30 | AC | 1 ms | 3592 KiB |
| 31 | AC | 1 ms | 3592 KiB |
| 32 | AC | 1 ms | 3528 KiB |
| 33 | AC | 1 ms | 3676 KiB |
| 34 | AC | 1 ms | 3656 KiB |
| 35 | AC | 1 ms | 3676 KiB |
| 36 | AC | 1 ms | 3652 KiB |
| 37 | AC | 1 ms | 3484 KiB |
| 38 | AC | 1 ms | 3592 KiB |
| 39 | AC | 1 ms | 3388 KiB |
| 40 | AC | 1 ms | 3696 KiB |
| 41 | AC | 1 ms | 3464 KiB |
| 42 | AC | 1 ms | 3708 KiB |
| 43 | AC | 1 ms | 3672 KiB |
| 44 | AC | 1 ms | 3592 KiB |
| 45 | AC | 1 ms | 3524 KiB |
| 46 | AC | 1 ms | 3516 KiB |
| 47 | AC | 1 ms | 3448 KiB |
| 48 | AC | 1 ms | 3676 KiB |
| 49 | AC | 1 ms | 3672 KiB |
| 50 | AC | 1 ms | 3640 KiB |