#include "squares.h"
#include <bits/stdc++.h>
std::vector<int> paint(int n) {
std::vector<int> labels(n + 1, 0);
int a = 8;
int prz = 2 * a + 1; // jeden prz takiej dl
labels[n] = 40;
for (int i = 0; i < n; i++)
{
int j = i % prz;
int id = i / prz;
if (j < a)labels[i] = 1;
else if (j == a || j == 2*a)labels[i] = 0;
else
{
if (id & (1 << (j - a-1)))
{
labels[i] = 1;
}
else
{
labels[i] = 0;
}
}
}
return labels;
}
int find_location(int n, std::vector<int> c) {
int a = 8;
int prz = 2*a+1;
// for (int i = 0; i < c.size(); i++)
// {
// // std::cerr << c[i];
// }
// std::cerr << '\n';
for (int i = 0; i < c.size(); i++)
{
if (c[i] == -1)
{
return n - i;
}
}
int con1 = 0;
int fn = 0;
for (; fn < c.size(); fn++)
{
if (c[fn] == 1)con1++;
else con1=0;
if (con1 == a)//i+1 == 0 a dalej mamy liczbe
{
break;
}
}
fn += 2;//poczatek numeru przedziału
// if ()
int x = 0;
for (int i = 0; i < a-1; i++)
{
if (c[fn + i])
{
x += 1 << i;
}
}
//jestem w xtym przedziale
fn -= a+1;
return x * prz - fn;
}
# | 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... |