# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1161599 | Aviansh | Painting Walls (APIO20_paint) | C++20 | 1595 ms | 6584 KiB |
#include "paint.h"
#include <bits/stdc++.h>
using namespace std;
int minimumInstructions(int n, int m, int k, vector<int> c,vector<int> a, vector<vector<int>> b) {
vector<int>pos[k];
for(int i = 0;i<m;i++){
sort(b[i].begin(),b[i].end());
for(int j : b[i]){
pos[j].push_back(i);
}
}
bool starts[n];
fill(starts,starts+n,0);
for(int i = 0;i<n;i++){
set<int>val;
for(int j = 0;j<m;j++){
val.insert(j);
}
bool work = 1;
for(int j = 0;j<m;j++){
set<int>rem;
for(int curr : val){
//i+jth colour to be filled by curr+j
int ind = ((curr+j)%m);
//if b[ind] has c[i+j] then this is good, if now then rem
int vind = (lower_bound(b[ind].begin(),b[ind].end(),(c[i+j]))-b[ind].begin());
if(vind==b[ind].size()||b[ind][vind]!=c[i+j]){
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |