Submission #1238630

#TimeUsernameProblemLanguageResultExecution timeMemory
1238630chinesegenius69420Mosaic (IOI24_mosaic)C++20
22 / 100
1101 ms2162688 KiB
#include <bits/stdc++.h> #include "mosaic.h" 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(); vector<long long> ans; vector<vector<int>> arr(n, vector<int>(n, 0)), pref(n + 1, vector<int>(n + 1, 0)); for(int i = 0; i < n; i++){ arr[0][i] = X[i]; arr[i][0] = Y[i]; } for(int i = 1; i < n; i++){ for(int j = 1; j < n; j++){ if(!arr[i - 1][j] and !arr[i][j - 1]){ arr[i][j] = 1; continue; } } } for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ pref[i + 1][j + 1] = arr[i][j] + pref[i][j + 1] + pref[i + 1][j] - pref[i][j]; } } int q = T.size(); for(int i = 0; i < q; i++){ int a = pref[B[i] + 1][R[i] + 1] - pref[T[i]][R[i] + 1] - pref[B[i] + 1][L[i]] + pref[T[i]][L[i]]; ans.push_back(a); } 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...