제출 #1312121

#제출 시각아이디문제언어결과실행 시간메모리
1312121eri16모자이크 (IOI24_mosaic)C++20
0 / 100
70 ms21296 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; vector<ll> mosaic(vector<int> X, vector<int> Y,vector<int> T, vector<int> B,vector<int> L, vector<int> R){ ll n = X.size(); ll row[3][200005]; ll column[3][200005]; for (int i=0; i<n; i++){row[0][i]=X[i];} for (int i=0; i<n; i++){column[0][i]=Y[i];} if (n>1){ row[1][0]=column[0][1]; column[1][0]=row[0][1]; for (int i=1; i<n; i++){row[1][i]=1-(row[1][i-1] | row[0][i]);} for (int i=1; i<n; i++){column[1][i]=1-(column[1][i-1] | column[0][i]);} } if (n>2){ row[2][0]=column[0][2]; column[2][0]=row[0][2]; for (int i=1; i<n; i++){row[2][i]=1-(row[2][i-1] | row[1][i]);} for (int i=1; i<n; i++){column[2][i]=1-(column[2][i-1] | column[1][i]);} } ll q = T.size(); vector <ll> ans; ll t,b,l,r; for (int i=0; i<q; i++){ t=T[i]; b=B[i]; l=L[i]; r=R[i]; if (t<=2){ ans.push_back(row[t][l]); } else if (l<=2){ ans.push_back(column[t][l]); } else{ if (l>=t){ ans.push_back(column[2][l-t+2]); } else{ ans.push_back(row[2][t-l+2]); } } } 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...