Submission #1216283

#TimeUsernameProblemLanguageResultExecution timeMemory
1216283shmaxMosaic (IOI24_mosaic)C++20
12 / 100
1095 ms2162688 KiB
#include "mosaic.h"
#include <bits/stdc++.h>

using namespace std;
using i32 = int32_t;
#define int long long

template<typename T>
using vec = vector<T>;

std::vector<int> mosaic(std::vector<i32> X, std::vector<i32> Y,
                        std::vector<i32> T, std::vector<i32> B,
                        std::vector<i32> L, std::vector<i32> R) {
    int n = (int) X.size();
    vec<vec<bool>> a(n, vec<bool>(n, false));
    for (int i = 0; i < n; i++) {
        a[0][i] = X[i];
        a[i][0] = Y[i];
    }
    for (int i = 1; i < n; i++) {
        for (int j = 1; j < n; j++) {
            a[i][j] = !(a[i - 1][j] | a[i][j - 1]);
        }
    }

    vec<int> ans;
    int q = T.size();
    while (q--) {
        int sum = 0;
        for (int i = T[q]; i <= B[q]; i++) {
            for (int j = L[q]; j <= R[q]; j++) {
                if (a[i][j]) sum++;
            }
        }
        ans.push_back(sum);
    }
    reverse(ans.begin(), ans.end());
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...