Submission #75823279
Source Code Expand
#include <bits/stdc++.h>
#pragma GCC optimize("O3,fast-math")
using namespace std;
using ll = long long;
int n,q,op,a,b,c;
vector<vector<int>> qry;
bool tryy(int s) {
//cout << "try " << s << endl;
int ignore=n-s, curserv=s;
bitset<2020> dp; // master on
if(curserv==0) dp[0]=1;
for(int i=1;i<=curserv;i++) dp[i]=1;
for(auto qq:qry) {
int op=qq[0], a=qq[1], b=qq[2], c=qq[3];
//cout << "dp "; for(int i=0;i<=n;i++) cout << dp[i] << " "; cout << endl;
if(op==1) {
if(!curserv) continue;
if(ignore) ignore--;
else {
dp[curserv]=0;
curserv--;
dp=dp|dp>>1;
if(curserv) dp[0]=0;
}
}
if(op==2) {
if(!curserv && a+b+c==0) continue;
if(curserv < a+b+c) return false;
for(int i=0;i<a;i++) dp[i]=0;
for(int i=-2;i<c;i++) dp[curserv-i]=0;
}
}
//cout << "dp "; for(int i=0;i<=n;i++) cout << dp[i] << " "; cout << endl;
for(int i=0;i<=curserv;i++) if(dp[i]) return true;
return false;
}
int alive[2020];
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> q;
for(int i=1;i<=n;i++) alive[i]=1;
for(int i=1;i<=q;i++) {
cin >> op >> a;
if(op==1 && alive[a]) alive[a]=0, qry.push_back({1,a,-1,-1});
if(op==2) cin >> b >> c, qry.push_back({2,a,b,c});
}
// parametric
/*
int no=-1, yes=n+1;
while(no+1<yes) {
int mid = (no+yes)>>1;
//cout << "try" << mid << endl;
if(tryy(mid)) yes=mid;
else no=mid;
}
*/
for(int i=0;i<=n;i++) {
if(tryy(i)) {
cout << i;
return 0;
}
}
cout << -1;
//cout << (yes==n+1 ? -1 : yes);
}
Submission Info
| Submission Time | |
|---|---|
| Task | H - CUBRID HA Load Balance |
| User | Hakuaa_2 |
| Language | C++23 (GCC 15.2.0) |
| Score | 0 |
| Code Size | 1888 Byte |
| Status | WA |
| Exec Time | 8 ms |
| Memory | 3652 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 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 | 3300 KiB |
| 02 | AC | 1 ms | 3324 KiB |
| 03 | WA | 1 ms | 3256 KiB |
| 04 | AC | 1 ms | 3292 KiB |
| 05 | WA | 1 ms | 3488 KiB |
| 06 | AC | 1 ms | 3384 KiB |
| 07 | AC | 1 ms | 3296 KiB |
| 08 | AC | 1 ms | 3312 KiB |
| 09 | AC | 1 ms | 3296 KiB |
| 10 | AC | 1 ms | 3256 KiB |
| 11 | AC | 1 ms | 3384 KiB |
| 12 | AC | 1 ms | 3320 KiB |
| 13 | AC | 1 ms | 3432 KiB |
| 14 | WA | 1 ms | 3324 KiB |
| 15 | WA | 1 ms | 3560 KiB |
| 16 | AC | 1 ms | 3384 KiB |
| 17 | AC | 1 ms | 3372 KiB |
| 18 | AC | 4 ms | 3584 KiB |
| 19 | AC | 1 ms | 3524 KiB |
| 20 | AC | 1 ms | 3256 KiB |
| 21 | AC | 1 ms | 3496 KiB |
| 22 | AC | 3 ms | 3512 KiB |
| 23 | AC | 1 ms | 3384 KiB |
| 24 | AC | 1 ms | 3312 KiB |
| 25 | AC | 3 ms | 3556 KiB |
| 26 | AC | 1 ms | 3312 KiB |
| 27 | AC | 1 ms | 3428 KiB |
| 28 | AC | 8 ms | 3616 KiB |
| 29 | AC | 1 ms | 3292 KiB |
| 30 | AC | 1 ms | 3380 KiB |
| 31 | AC | 5 ms | 3384 KiB |
| 32 | AC | 1 ms | 3384 KiB |
| 33 | AC | 1 ms | 3560 KiB |
| 34 | AC | 6 ms | 3652 KiB |
| 35 | AC | 1 ms | 3488 KiB |
| 36 | WA | 1 ms | 3384 KiB |
| 37 | AC | 1 ms | 3428 KiB |
| 38 | AC | 5 ms | 3652 KiB |
| 39 | WA | 1 ms | 3324 KiB |
| 40 | AC | 4 ms | 3452 KiB |
| 41 | WA | 1 ms | 3312 KiB |
| 42 | AC | 4 ms | 3512 KiB |
| 43 | AC | 1 ms | 3260 KiB |
| 44 | AC | 1 ms | 3584 KiB |
| 45 | AC | 1 ms | 3292 KiB |
| 46 | AC | 3 ms | 3556 KiB |
| 47 | AC | 1 ms | 3384 KiB |
| 48 | AC | 1 ms | 3296 KiB |
| 49 | AC | 1 ms | 3616 KiB |
| 50 | AC | 4 ms | 3652 KiB |