#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
deque<int> bits;
const int nmax = 165;
int occ[nmax];
vector<int> toset; //two
void myset(int val) { toset.push_back(val); }
void calc(int poz) {
int coef = (occ[poz] << 2) | (occ[poz + 1] << 1) | (occ[poz + 2]);
if(__builtin_popcount(coef) >= 2) {
myset(0);
myset(0);
myset(0);
return;
}
switch(coef) {
case 0b001: {
if(bits[0] == 0) {
if(bits[1] == 0) // 0
myset(1),
myset(0),
myset(0);
else // 01
myset(1),
myset(1),
myset(0),
bits.pop_front();
}
else // 1
myset(0),
myset(1),
myset(0);
break;
}
case 0b010: {
if(bits[0] == 0) // 0
myset(1),
myset(0),
myset(0);
else {
if(bits[1] == 0) // 10
myset(0),
myset(0),
myset(1);
else // 11
myset(1),
myset(0),
myset(1);
bits.pop_front();
}
break;
}
case 0b100: {
if(bits[0] == 0) // 0
myset(0),
myset(1),
myset(1);
else // 1
myset(1),
myset(0),
myset(1);
break;
}
case 0b000: {
int u = (bits[0] << 1) | bits[1];
switch(u) {
case 0b00:
myset(1),
myset(1),
myset(1);
break;
case 0b01:
myset(1),
myset(1),
myset(0);
break;
case 0b10:
myset(0),
myset(0),
myset(1);
break;
case 0b11:
myset(1),
myset(0),
myset(1);
break;
}
bits.pop_front();
}
}
bits.pop_front();
//cerr << ' ';
}
void Anna( int n, long long x, int k, int p[] ){
//cerr << "hen\n";
bits.clear();
toset.clear();
for(int i = 59; i >= 0; i--)
bits.push_back((x & (1LL << i)) > 0LL);
for(int i = 0; i <= 300; i++)
bits.push_back(0);
for(int i = 0; i < k; i++)
occ[p[i]] = 1;
for(int i = 0; i < n; i += 3)
calc(i);
for(int i = 0; i < n; i++)
Set(i, toset[i]);
//cerr << "henlo\n";
return;
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
string rez;
void myset(string s) { rez += s;}
vector<int> a;
void calcB(int poz) {
int coef = (a[poz] << 2) | (a[poz + 1] << 1) | a[poz + 2];
cerr << coef << ' ';
switch(coef) {
case 0b111:
myset("00");
break;
case 0b110:
myset("01");
break;
case 0b101:
myset("11");
break;
case 0b011:
myset("0");
break;
case 0b001:
myset("10");
break;
case 0b010:
myset("1");
break;
case 0b100:
myset("0");
break;
case 0b000:
break;
}
return;
}
long long Bruno( int N, int A[] ){
for(int i = 0; i < N; i++)
a.push_back(A[i]);
for(int i = 0; i < N; i += 3)
calcB(i);
long long X = 0;
for(int i = 0; i < 60; i++)
//cerr << rez[i],
X = (X << 1) + (long long)(rez[i] - '0');
//cerr << '\n';
a.clear();
rez = "";
return X;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
158 ms |
2500 KB |
Output isn't correct - L* = 0 |
2 |
Partially correct |
158 ms |
2488 KB |
Output isn't correct - L* = 0 |
3 |
Partially correct |
154 ms |
2576 KB |
Output isn't correct - L* = 0 |
4 |
Partially correct |
154 ms |
2616 KB |
Output isn't correct - L* = 0 |
5 |
Partially correct |
155 ms |
2532 KB |
Output isn't correct - L* = 0 |
6 |
Partially correct |
148 ms |
2508 KB |
Output isn't correct - L* = 0 |
7 |
Partially correct |
158 ms |
2472 KB |
Output isn't correct - L* = 0 |
8 |
Partially correct |
158 ms |
2448 KB |
Output isn't correct - L* = 0 |
9 |
Partially correct |
151 ms |
2564 KB |
Output isn't correct - L* = 0 |
10 |
Partially correct |
162 ms |
2532 KB |
Output isn't correct - L* = 0 |
11 |
Partially correct |
144 ms |
2460 KB |
Output isn't correct - L* = 0 |
12 |
Partially correct |
151 ms |
2480 KB |
Output isn't correct - L* = 0 |
13 |
Partially correct |
162 ms |
2592 KB |
Output isn't correct - L* = 0 |
14 |
Partially correct |
151 ms |
2532 KB |
Output isn't correct - L* = 0 |
15 |
Partially correct |
172 ms |
2460 KB |
Output isn't correct - L* = 0 |
16 |
Partially correct |
152 ms |
2616 KB |
Output isn't correct - L* = 0 |
17 |
Partially correct |
153 ms |
2512 KB |
Output isn't correct - L* = 0 |
18 |
Partially correct |
184 ms |
2548 KB |
Output isn't correct - L* = 0 |
19 |
Partially correct |
160 ms |
2564 KB |
Output isn't correct - L* = 0 |
20 |
Partially correct |
167 ms |
2496 KB |
Output isn't correct - L* = 0 |
21 |
Partially correct |
154 ms |
2448 KB |
Output isn't correct - L* = 0 |
22 |
Partially correct |
147 ms |
2528 KB |
Output isn't correct - L* = 0 |
23 |
Partially correct |
156 ms |
2504 KB |
Output isn't correct - L* = 0 |
24 |
Partially correct |
161 ms |
2492 KB |
Output isn't correct - L* = 0 |
25 |
Partially correct |
168 ms |
2524 KB |
Output isn't correct - L* = 0 |
26 |
Partially correct |
157 ms |
2600 KB |
Output isn't correct - L* = 0 |
27 |
Partially correct |
195 ms |
2516 KB |
Output isn't correct - L* = 0 |
28 |
Partially correct |
197 ms |
2492 KB |
Output isn't correct - L* = 0 |
29 |
Partially correct |
183 ms |
2468 KB |
Output isn't correct - L* = 0 |
30 |
Partially correct |
182 ms |
2516 KB |
Output isn't correct - L* = 0 |
31 |
Partially correct |
194 ms |
2596 KB |
Output isn't correct - L* = 0 |
32 |
Partially correct |
176 ms |
2532 KB |
Output isn't correct - L* = 0 |
33 |
Partially correct |
210 ms |
2512 KB |
Output isn't correct - L* = 0 |
34 |
Partially correct |
191 ms |
2524 KB |
Output isn't correct - L* = 0 |
35 |
Partially correct |
191 ms |
2536 KB |
Output isn't correct - L* = 0 |
36 |
Partially correct |
189 ms |
2420 KB |
Output isn't correct - L* = 0 |
37 |
Partially correct |
172 ms |
2524 KB |
Output isn't correct - L* = 0 |
38 |
Partially correct |
178 ms |
2520 KB |
Output isn't correct - L* = 0 |
39 |
Partially correct |
193 ms |
2428 KB |
Output isn't correct - L* = 0 |
40 |
Partially correct |
153 ms |
2440 KB |
Output isn't correct - L* = 0 |