Submission #1312074

#TimeUsernameProblemLanguageResultExecution timeMemory
1312074eri16Mosaic (IOI24_mosaic)C++20
0 / 100
76 ms15152 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++){
        
        t=T[i];
        b=B[i];
        l=L[i];
        r=R[i];
        
        if (t==0){
            ans.push_back(row1[l]);
        }
        else if  (l==0){
            ans.push_back(column1[t]);
        }
        else{
            
            if (l>=t){
                ans.push_back(row2[l-t+1]);
            }
            else{
                ans.push_back(column2[t-l+1]);                
            }
        }
    }
    
    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...