제출 #1312079

#제출 시각아이디문제언어결과실행 시간메모리
1312079eri16Mosaic (IOI24_mosaic)C++20
0 / 100
74 ms15832 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){ int row1[200005]; int row2[200005]; int column1[200005]; int column2[200005]; ll n = X.size(); for (int i=0; i<n; i++){row1[i]=X[i];} for (int i=0; i<n; i++){column1[i]=Y[i];} row2[1] = 1 - (column1[0] | row1[0]); column2[1] = row2[1]; for (int i=2; i<n; i++){ row2[i]= 1 - (row2[i-1] | row1[i]); column2[i]= 1 - (column2[i-1] | column1[i]); } ll q = T.size(); vector <ll> ans; ll t,b,l,r; for (int i=0; i<q; i++){ ll sm=0; for (int i=0; i<=b-t; i++){ for (int j=0; j<=r-l; j++){ t=T[i]+i; b=B[i]+i; l=L[i]+j; r=R[i]+j; if (t==0){sm+=(row1[l]);} else if (l==0){sm+=(column1[t]);} else{ if (l>=t){ sm+=(row2[l-t+1]); } else{ sm+=(column2[t-l+1]); } } } } ans.push_back(sm); } 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...