이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "squares.h"
using namespace std;
int paint(vector <int> &a){
int n = a.size();
int len = 2;
int k = 1;
a[0] = 0;
a[1] = 1;
while (len < n){
for(int i = len; i < min(2 * len, n); i++)
a[i] = a[i - len] ^ 1;
len <<= 1;
k++;
}
return k;
}
vector <int> paint(int n){
vector <int> res(n);
int k = paint(res);
res.push_back(k);
for(int x : res)
cerr << x << ' ';
cerr << endl;
return res;
}
int find_location(int n, vector <int> c){
int k = c.size();
vector <int> a(n);
assert(k == paint(a));
int expected = 0;
for(int x : c){
expected <<= 1;
if (x != -1)
expected |= x;
}
int cur = 0;
for(int i = 0; i < n + k - 1; i++){
cur <<= 1;
if (i < n)
cur |= a[i];
cur &= (1 << k) - 1;
if (cur == expected && i >= k - 1)
return i - k + 1;
}
assert(0);
return 0;
}
# | 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... |