# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1168980 | Szymon_Pilipczuk | Painting Squares (IOI20_squares) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<int> bit =
{
1,
0,
1,
0,
0,
1,
1,
1,
1,
0,
0,
1,
1,
0,
0,
1,
1,
1,
1,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
1,
1,
0,
0,
1,
1,
1,
0,
0,
0,
0,
1,
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
0,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
1,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
1,
1,
0,
0,
1,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
0,
1,
1,
1,
1,
0,
0,
1,
0,
1,
1,
1,
0,
1,
0,
1,
0,
1,
0,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
1,
1,
0,
0,
1,
0,
0,
0,
1,
0,
1,
1,
1,
1,
0,
0,
1,
1,
1,
1,
0,
0,
1,
1,
0,
0,
0,
1,
1,
0,
0,
0,
1,
0,
1,
0,
1,
1,
0,
0,
0,
0,
1,
1,
0,
0,
1,
1,
1,
0,
1,
0,
0,
0,
1,
0,
1,
0,
1,
0,
0,
1,
0,
1,
0,
1,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
1,
1,
0,
0,
1,
1,
1,
1,
1,
0,
1,
0,
0,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
1,
0,
1,
1,
1,
0,
1,
0,
0,
0,
1,
0,
1,
1,
1,
0,
0,
1,
0,
0,
0,
1,
0,
0,
0,
1,
1,
0,
1,
1,
1,
0,
0,
0,
1,
1,
1,
1,
0,
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
1,
0,
1,
1,
0,
1,
1,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
1,
0,
1,
1,
1,
0,
0,
1,
0,
1,
0,
1,
0,
0,
0,
0,
1,
0,
0,
1,
1,
0,
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
0,
0,
1,
1,
1,
0,
1,
0,
0,
1,
0,
0,
0,
0,
1,
1,
0,
1,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
0,
1,
0,
0,
1,
1,
1,
0,
0,
0,
1,
1,
1,
0,
1,
1,
0,
0,
1,
0,
0,
0,
1,
0,
0,
0,
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
0,
1,
1,
0,
1,
1,
1,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
0,
1,
0,
1,
0,
0,
0,
0,
1,
1,
1,
1,
0,
1,
1,
1,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
0,
1,
0,
1,
1,
0,
1,
0,
0,
0,
0,
1,
0,
0,
1,
0,
1,
0,
1,
0,
1,
1,
1,
0,
0,
0,
1,
1,
0,
0,
0,
0,
1,
1,
0,
1,
0,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
1,
1,
1,
0,
1,
1,
0,
0,
1,
1,
1,
0,
1,
1,
0,
0,
0,
1,
0,
1,
0,
1,
0,
0,
1,
0,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
1,
0,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
1,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
0,
0,
0,
1,
0,
1,
0,
1,
0,
1,
1,
0,
1,
1,
0,
0,
1,
0,
0,
1,
0,
1,
0,
1,
1,
1,
0,
1,
0,
0,
0,
0,
0,
1,
0,
1,
0,
0,
1,
0,
0,
0,
0,
1,
1,
0,
0,
1,
1,
1,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
1,
0,
1,
0,
1,
1,
0,
1,
1,
1,
1,
1,
0,
1,
1,
0,
1,
0,
0,
0,
1,
1,
1,
1,
0,
0,
0,
1,
0,
1,
0,
0,
0,
1,
1,
1,
0,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
0,
1,
1,
0,
1,
1,
1,
0,
0,
0,
1,
0,
1,
1,
1,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
0,
0,
0,
1,
0,
1,
1,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
0,
1,
1,
0,
1,
0,
0,
1,
1,
1,
0,
1,
0,
0,
1,
1,
1,
1,
0,
1,
0,
1,
0,
1,
0,
0,
0,
0,
0,
1,
0,
0,
1,
1,
1,
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
1,
1,
1,
0,
1,
1,
1,
0,
1,
1,
0,
1,
0,
1,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
1,
1,
0,
1,
0,
0,
1,
1,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
1,
0,
1,
0,
1,
0,
0,
0,
1,
0,
1,
0,
1,
1,
0,
0,
1,
0,
1,
0,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
0,
1,
0,
0,
0,
1,
0,
0,
1,
0,
1,
0,
0,
0,
1,
0,
0,
0,
1,
1,
0,
0,
1,
0,
1,
0,
1,
1,
1,
1,
0,
0,
1,
0,
0,
0,
1,
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
1,
0,
1,
1,
1,
0,
1,
0,
1,
0
};
int find_location(int n, vector<int> c)
{
int cn = 0;
for(int i = 0;i<c.size();i++)
{
if(c[i] == -1)
{
cn++;
}
}
if(cn > 0)
{
return n-c.size()+cn;
}
for(int i = 0;i<n-c.size()+1;i++)
{
vector<int> cu;
for(int j = i;j<i+c.size();j++)
{
cu.push_back(bit[j]);
}
if(cu == c)
{
return i+1;
}
}
}