Submission #1225561

#TimeUsernameProblemLanguageResultExecution timeMemory
1225561PagodePaivaMosaic (IOI24_mosaic)C++20
0 / 100
79 ms16572 KiB
#include "mosaic.h"
#include<bits/stdc++.h>

using namespace std;

const int N = 200010;
int linha[3][N], coluna[N][3];

std::vector<long long> mosaic(std::vector<int> x, std::vector<int> y,
                              std::vector<int> T, std::vector<int> B,
                              std::vector<int> L, std::vector<int> R) {
    int n = x.size();
    vector <long long> ans;
    for(int i = 0;i < n;i++){
        linha[0][i] = x[i];
        coluna[i][0] = y[i];
    }
    for(int i = 1;i < 3;i++){
        for(int j = 1;j < n;j++){
            if(linha[i][j-1] == 0 and linha[i-1][j] == 0)
                linha[i][j] = 1;
            else
                linha[i][j] = 0;
            if(coluna[j-1][i] == 0 and coluna[j][i-1] == 0)
                coluna[j][i] = 1;
            else
                coluna[j][i] = 0;
        }
    }
    for(int i = 0;i < T.size();i++){
        int xx = T[i], yy = L[i];
        if(xx < 3){
            ans.push_back(linha[xx][yy]);
        }
        else if(yy < 3){
            ans.push_back(coluna[xx][yy]);
        }
        else{
            int mn = min(xx, yy);
            xx -= mn-2;
            yy -= mn-2;
            if(xx < 3){
                ans.push_back(linha[xx][yy]);
            }
            else if(yy < 3){
                ans.push_back(coluna[xx][yy]);
            }
        }
    }
    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...