제출 #1235847

#제출 시각아이디문제언어결과실행 시간메모리
1235847repsak모자이크 (IOI24_mosaic)C++20
8 / 100
81 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]; // srand(time(0)); // N = 100; // Q = 10000; // T.resize(Q); L.resize(Q); R.resize(Q); B.resize(Q); // for(int i = 0; i < Q; i++){ // T[i] = rand() % 10; // B[i] = T[i] + rand() % (N - T[i]); // L[i] = rand() % 10; // R[i] = L[i] + rand() % (N - L[i]); // } // vector<vector<int>> grid(N, vector<int>(N)); // for(int i = 0; i < N; i++){ // grid[0][i] = 0; // grid[i][0] = 0; // } // 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); // vector<ll> s(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++; // } // } // s[i] = amount; // } for(int i = 0; i < Q; i++){ if(T[i] == 0 && B[i] == 0 || L[i] == 0 && R[i] == 0){ r[i] == 0; // if(s[i] != r[i]){ // cout << "now"; // } continue; } ll top = max(1, T[i]); ll bottom = max(1, B[i]); ll left = max(1, L[i]); ll right = max(1, R[i]); ll rows = bottom - top + 1; ll columns = right - left + 1; if(rows % 2 == 0 || columns % 2 == 0){ r[i] = (columns * rows) / 2; // if(s[i] != r[i]){ // cout << "now"; // } continue; } ll additional = top % 2 == left % 2 || bottom % 2 == right % 2 ? 1 : 0; r[i] = floor(rows * columns / 2) + additional; // if(s[i] != r[i]){ // cout << "now"; // } // r[i] = prefix[R[i] + 1] - prefix[L[i]]; } // for(int i = 0; i < r.size(); i++){ // if(r[i] != s[i]){ // cout << "here"; // }else{ // cout << r[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...