Submission #1221354

#TimeUsernameProblemLanguageResultExecution timeMemory
1221354im2xtremeMosaic (IOI24_mosaic)C++20
22 / 100
1044 ms2162688 KiB
#include <iostream> #include <vector> using namespace std; vector<long long> mosaic( vector<int> X, vector<int> Y, vector<int> T, vector<int> B, vector<int> L, vector<int> R) { int N = X.size(), Q = T.size(); vector<vector<int>> A(N, vector<int>(N)); vector<vector<long long>> S(N + 1, vector<long long>(N + 1)); for (int j = 0; j < N; j++) A[0][j] = X[j]; for (int i = 0; i < N; 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] == 0 && A[i][j-1] == 0) ? 1 : 0; for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) S[i+1][j+1] = A[i][j] + S[i][j+1] + S[i+1][j] - S[i][j]; vector<long long> res(Q); for (int k = 0; k < Q; k++) { int t = T[k], b = B[k], l = L[k], r = R[k]; res[k] = S[b+1][r+1] - S[t][r+1] - S[b+1][l] + S[t][l]; } return res; }
#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...