Submission #1225578

#TimeUsernameProblemLanguageResultExecution timeMemory
1225578PagodePaivaMosaic (IOI24_mosaic)C++20
22 / 100
84 ms16700 KiB
#include "mosaic.h" #include<bits/stdc++.h> using namespace std; const int N = 200010; int linha[3][N], coluna[N][3]; std::vector<long long> mosaic(std::vector<int> x, std::vector<int> y, std::vector<int> T, std::vector<int> B, std::vector<int> L, std::vector<int> R) { int n = x.size(); vector <long long> ans; for(int i = 0;i < n;i++){ linha[0][i] = x[i]; coluna[i][0] = y[i]; } linha[1][0] = coluna[1][0]; linha[2][0] = coluna[2][0]; coluna[0][1] = linha[0][1]; coluna[0][2] = linha[0][2]; for(int i = 1;i < 3;i++){ for(int j = 1;j < n;j++){ if(linha[i][j-1] == 0 and linha[i-1][j] == 0) linha[i][j] = 1; else linha[i][j] = 0; if(coluna[j-1][i] == 0 and coluna[j][i-1] == 0) coluna[j][i] = 1; else coluna[j][i] = 0; } } /*for(int i = 0;i < 3;i++){ for(int j = 0;j < n;j++){ cout << linha[i][j] << ' '; } cout << '\n'; } for(int j = 0;j < n;j++){ for(int i = 0;i < 3;i++){ cout << coluna[j][i] << ' '; } cout << '\n'; }*/ for(int i = 0;i < T.size();i++){ int xx = T[i], yy = L[i]; if(xx < 3){ ans.push_back(linha[xx][yy]); } else if(yy < 3){ ans.push_back(coluna[xx][yy]); } else{ int mn = min(xx, yy); xx -= mn-2; yy -= mn-2; if(xx < 3){ ans.push_back(linha[xx][yy]); } else if(yy < 3){ ans.push_back(coluna[xx][yy]); } } } 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...