Submission #1243346

#TimeUsernameProblemLanguageResultExecution timeMemory
1243346allin27xMosaic (IOI24_mosaic)C++20
12 / 100
188 ms333780 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 2e5+5; const int K = 205; int vert[N][K]; int horz[K][N]; vector<long long> mosaic(vector<signed> X, vector<signed> Y, vector<signed> T, vector<signed> B, vector<signed> L, vector<signed> R) { int n = X.size(); for (int i=0; i<n; i++) horz[1][i+1] = X[i]; for (int i=0; i<n; i++) vert[i+1][1] = Y[i]; for (int i=0; i<min(n, K-1); i++) horz[i+1][1] = Y[i]; for (int i=0; i<min(n, K-1); i++) vert[1][i+1] = X[i]; for (int i=2; i<K; i++) { for (int j=2; j<=n; j++) { vert[j][i] = !vert[j-1][i] && !vert[j][i-1]; horz[i][j] = !horz[i-1][j] && !horz[j][j-1]; } } vector<int> res((int)T.size(), 0); for (int q=0; q<T.size(); q++) { int t = T[q]+1; int b=B[q]+1; int l=L[q]+1; int r=R[q]+1; for (int i=t; i<=b; i++) { for (int j=l; j<=r; j++) { res[q] += vert[i][j]; } } } return res; }
#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...