Submission #1235834

#TimeUsernameProblemLanguageResultExecution timeMemory
1235834repsakMosaic (IOI24_mosaic)C++20
0 / 100
77 ms11336 KiB
#include "mosaic.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; vector<long long> mosaic(vector<int> X, vector<int> Y, vector<int> T, vector<int> B, vector<int> L, vector<int> R) { int N = (int)X.size(); int Q = (int)T.size(); // vector<ll> prefix(N + 1); // for(int i = 1; i <= N; i++){ // prefix[i] = prefix[i - 1] + X[i - 1]; // } // vector<vector<int>> grid(N, vector<int>(N)); // for(int i = 0; i < N; i++){ // grid[0][i] = X[i]; // grid[i][0] = Y[i]; // } // for(int y = 1; y < N; y++){ // for(int x = 1; x < N; x++){ // int color = grid[y][x - 1] == 0 && grid[y - 1][x] == 0 ? 1 : 0; // grid[y][x] = color; // } // } vector<ll> r(Q); for(int i = 0; i < Q; i++){ // ll amount = 0; // for(int y = T[i]; y <= B[i]; y++){ // for(int x = L[i]; x <= R[i]; x++){ // if(grid[y][x] == 1) amount++; // } // } // r[i] = amount; if(T[i] == 0 && B[i] == 0 || L[i] == 0 && R[i] == 0){ r[i] == 0; continue; } int top = max(1, T[i]); int bottom = max(1, B[i]); int left = max(1, L[i]); int right = max(1, R[i]); int rows = bottom - top + 1; int columns = right - left + 1; if(rows % 2 == 0 || columns % 2 == 0){ r[i] = (columns * rows) / 2; continue; } int additional = top % 2 == left % 2 || bottom % 2 == right % 2 ? 1 : 0; r[i] = floor(rows * columns / 2) + additional; // r[i] = prefix[R[i] + 1] - prefix[L[i]]; } return r; } // #include "grader.cpp"
#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...