#include <bits/stdc++.h>
using namespace std;
#define ll int
#define ff first
#define ss second
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define ertunt return
vector<ll>f(200005),inv(200005);
ll mod = 998244353;
ll modpow(ll a, ll b){
ll res = 1;
while(b){
if(b&1){
res*=a;
res%=mod;
}
a*=a;
a%=mod;
b >>= 1;
}
ertunt res;
}
ll nCk(ll n, ll k){
if(k < 0 or k > n)ertunt 0;
ertunt f[n]*inv[k]%mod*inv[n-k]%mod;
}
void buildWall(int n, int k, int op[], int l[], int r[], int h[], int H[]){
vector<array<ll,3>>add;
vector<array<ll,3>>rem;
for(ll i = 0; i < k; i++){
if(op[i] == 1){
add.pb({h[i],l[i],r[i]});
}
else{
rem.pb({h[i],l[i],r[i]});
}
}
sort(all(add)),[&](ll i,ll j){
ertunt add[i][0] >= add[j][0];
};
sort(all(rem));
vector<ll>brov(n+5,-1);
for(ll i = 0; i < add.size(); i++){
for(ll j = add[i][1]; j <= add[i][2]; j++){
if(brov[j] == -1){
H[j] = add[i][0];
brov[j] = add[i][2];
}
else{
j = brov[j];
}
}
}
brov.resize(n+4,-1);
for(ll i = 0; i < rem.size(); i++){
for(ll j = rem[i][1]; j <= rem[i][2]; j++){
if(brov[j] == -1){
brov[j] = rem[i][2];
H[j] = min(H[j],rem[i][0]);
}
else {
j = brov[j];
}
}
}
}
// int main() {
// ios_base::sync_with_stdio(false);cin.tie(NULL);
// ll t;
// cin >> t;
// while(t--){
// }
// }
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |