Submission #1312112

#TimeUsernameProblemLanguageResultExecution timeMemory
1312112eri16Mosaic (IOI24_mosaic)C++20
0 / 100
71 ms21368 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++){row[1][i]=1-(row[1][i-1] | row[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++){row[2][i]=1-(row[2][i-1] | row[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...