Submission #56535494


Source Code Expand

/*
--------------              |   /
      |                     |  /
      |                     | /
      |             *       |/          |    |         ------            *
      |                     |           |    |        /      \
      |             |       |\          |    |       |       |\          |
   \  |             |       | \         |    |       |       | \         |
    \ |             |       |  \        |    |        \     /   \        |
     V              |       |   \        \__/|         -----     \       |
*/
#ifdef EMT
#include "Header/stdc++.h"
#else
#include <bits/stdc++.h>
#endif
using namespace std;

#ifdef EMT
#define debug(x) cerr << "\e[1;31m" << #x << " = " << (x) << "\e[0m\n"
#define print(x) emilia_mata_tenshi(#x, begin(x), end(x))
template<typename T, typename T2> ostream& operator<<(ostream &os, const pair<T, T2> &obj) {
    return os << '{' << obj.first << ',' << obj.second << '}';
}
template<class TupType, size_t... I> void lamy_kawaii(ostream& os, const TupType& _tup, index_sequence<I...>) {
    // source: https://stackoverflow.com/a/41171552
    os << '{';
    (..., (cerr << (I == 0? "" : ",") << get<I>(_tup)));
    os << '}';
}
template<class... T> ostream& operator<<(ostream &os, const tuple<T...>& _tup) {
    lamy_kawaii(os, _tup, make_index_sequence<sizeof...(T)>());
    return os;
}
template<typename T> void emilia_mata_tenshi(const char *s, T l, T r) {
    cerr << "\e[1;33m" << s << " = [";
    while (l != r) {
        cerr << *l;
        cerr << (++l == r ? ']' : ',');
    }
    cerr << "\e[0m\n";
}
#else
#define debug(x) 48763
#define print(x) 48763
#endif

template<typename T, typename T2> istream& operator>>(istream &is, pair<T, T2> &obj) {
    is >> obj.first >> obj.second;
    return is;
}
template<typename T> istream& operator>>(istream &is, vector<T> &obj) {
    for (auto &x : obj)
        is >> x;
    return is;
}

#define YN(x) ((x) ? "YES" : "NO")
#define Yn(x) ((x) ? "Yes" : "No")
#define yn(x) ((x) ? "yes" : "no")
#define emilia_my_wife ios::sync_with_stdio(0); cin.tie(NULL);
using ll = int64_t;
using ull = uint64_t;
using ld = long double;
using uint = uint32_t;
template<typename T>
using base_type = remove_cv_t<remove_reference_t<T>>;
const double EPS  = 1e-8;
const int INF     = 0x3F3F3F3F;
const ll LINF     = 4611686018427387903;
const int MOD     = 1e9+7;
static int Lamy_is_cute = []() {
    emilia_my_wife
    return 48763;
}();
/*--------------------------------------------------------------------------------------*/

const int N = 105;
int sum[N][N][N];
signed main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            for (int k = 1; k <= n; k++) {
                cin >> sum[i][j][k];
                sum[i][j][k] = sum[i][j][k]
                    + sum[i - 1][j][k]  + sum[i][j - 1][k] + sum[i][j][k - 1]
                    - sum[i - 1][j - 1][k] - sum[i - 1][j][k - 1] - sum[i][j - 1][k - 1]
                    + sum[i - 1][j - 1][k - 1];
            }
    int q;
    cin >> q;
    while (q--) {
        int l1, r1, l2, r2, l3, r3;
        cin >> l1 >> r1 >> l2 >> r2 >> l3 >> r3;
        l1--; l2--; l3--;
        cout << sum[r1][r2][r3]
            - sum[l1][r2][r3] - sum[r1][l2][r3] - sum[r1][r2][l3]
            + sum[l1][l2][r3] + sum[r1][l2][l3] + sum[l1][r2][l3]
            - sum[l1][l2][l3] << '\n';
    }
}

Submission Info

Submission Time
Task D - Cuboid Sum Query
User JiKuai
Language C++ 20 (gcc 12.2)
Score 400
Code Size 3501 Byte
Status AC
Exec Time 84 ms
Memory 7840 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 22
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 02_maximum_00.txt, 02_maximum_01.txt, 02_maximum_02.txt, 02_maximum_03.txt, 02_maximum_04.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3396 KiB
00_sample_01.txt AC 1 ms 3488 KiB
01_random_00.txt AC 84 ms 7604 KiB
01_random_01.txt AC 66 ms 7744 KiB
01_random_02.txt AC 64 ms 6468 KiB
01_random_03.txt AC 53 ms 5392 KiB
01_random_04.txt AC 79 ms 7756 KiB
01_random_05.txt AC 53 ms 7724 KiB
01_random_06.txt AC 62 ms 6356 KiB
01_random_07.txt AC 47 ms 4544 KiB
01_random_08.txt AC 63 ms 7016 KiB
01_random_09.txt AC 64 ms 7212 KiB
01_random_10.txt AC 82 ms 7544 KiB
01_random_11.txt AC 71 ms 6752 KiB
01_random_12.txt AC 44 ms 5076 KiB
01_random_13.txt AC 73 ms 7744 KiB
01_random_14.txt AC 80 ms 7720 KiB
02_maximum_00.txt AC 84 ms 7788 KiB
02_maximum_01.txt AC 82 ms 7840 KiB
02_maximum_02.txt AC 80 ms 7708 KiB
02_maximum_03.txt AC 80 ms 7772 KiB
02_maximum_04.txt AC 79 ms 7772 KiB