Submission #1314023

#TimeUsernameProblemLanguageResultExecution timeMemory
1314023tsengangWall (IOI14_wall)C++20
0 / 100
117 ms17132 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...