#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
namespace {
int variable_example = 0;
const int maxN = 1e5 + 5;
}
struct SegmentTree {
int tree[2*maxN];
int n;
void reset(){
fill(tree, tree+2*maxN, 1e9);
}
void build(int n, vector<int> &v){
this->n = n;
for(int x=0;x<n;x++){
tree[n+x] = v[x];
}
for(int x=n-1;x>0;x--){
tree[x] = min(tree[x<<1], tree[x<<1|1]);
}
}
void update(int pos, int val){
pos += n;
tree[pos] = val;
for(int x=pos;x>1;x>>=1){
tree[x>>1] = min(tree[x], tree[x^1]);
}
}
int query(int left, int right){ // [L, R)
int ans = 1e9;
for(left += n, right += n; left < right; left >>= 1, right >>= 1){
if(left&1){
ans = min(ans, tree[left++]);
}
if(right&1){
ans = min(ans, tree[--right]);
}
}
return ans;
}
} tree;
void Anna(int N, std::vector<char> S) {
// 1 as store this first X or any Z after first Xa
// 0 otherwise
vector<int> v;
int pos = -2;
bool fX = false;
for(int x=0;x<N;x++){
if(S[x] == 'Z'){
if(fX && pos+1 < x && (x+1 == N || S[x+1] != 'Z')){
v.push_back(1);
} else {
v.push_back(0);
}
// Send(fX);
} else if(S[x] == 'Y'){ // XYXYZYZYZYZ (occurences of X are always first than Y)
// Send(0);
v.push_back(0);
} else if(S[x] == 'X'){
if(!fX){
v.push_back(1);
// Send(1);
fX = true;
pos = x;
} else {
v.push_back(0);
// Send(0);
}
}
}
Send(v[0]);
bool skip = false;
for(int x=0;x<N;x++){
if(skip){
skip = false;
continue;
}
if(v[x] == 0){
if(x+1 == N || v[x+1] == 1){
Send(0);
if(x+1 < N && v[x+1] == 1) Send(1);
else Send(0);
} else {
Send(1);
if(x+2 < N && v[x+2] == 1){
Send(1);
} else {
Send(0);
}
skip = true;
}
}
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
namespace {
int variable_example = 0;
int FunctionExample(int P) { return 1 - P; }
} // namespace
void Bruno(int N, int L, std::vector<int> A) {
// for (int i = 0; i < L; i++) {
// variable_example += FunctionExample(A[i]);
// }
// assert(L <= N);
// length >= 3, use 1 + log2(length) bits
// length <= 2
vector<int> v;
int idx = 1;
if(A[0] == 1){
v.push_back(1);
}
while(idx < L){
if(A[idx] == 0){
v.push_back(0);
if(A[idx+1] == 1) v.push_back(1);
} else {
v.push_back(0);
v.push_back(0);
if(A[idx+1] == 1) v.push_back(1);
}
idx += 2;
}
// for(auto val : v){
// cout << val << "\n";
// }
// cout << v.size() << "\n";
vector<int> ans;
int pos = -1, lst = 0;
for(int x=0;x<v.size();x++){
if(v[x] == 1){
if(pos == -1){
pos = x;
lst = x+1;
} else {
for(int y=x-1;y>=lst;y--){
ans.push_back(y);
}
ans.push_back(x);
lst = x+1;
}
}
}
for(int x=0;x<=pos;x++){
ans.push_back(x);
}
for(int x=lst;x<N;x++){
ans.push_back(x);
}
for(auto val : ans){
// cout << "- " << val << "\n";
Remove(val);
}
}
Compilation message
Anna.cpp:10:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
10 | int variable_example = 0;
| ^~~~~~~~~~~~~~~~
Bruno.cpp: In function 'void Bruno(int, int, std::vector<int>)':
Bruno.cpp:48:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
48 | for(int x=0;x<v.size();x++){
| ~^~~~~~~~~
Bruno.cpp: At global scope:
Bruno.cpp:12:5: warning: 'int {anonymous}::FunctionExample(int)' defined but not used [-Wunused-function]
12 | int FunctionExample(int P) { return 1 - P; }
| ^~~~~~~~~~~~~~~
Bruno.cpp:10:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
10 | int variable_example = 0;
| ^~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
616 KB |
Output is correct |
2 |
Correct |
1 ms |
516 KB |
Output is correct |
3 |
Correct |
2 ms |
524 KB |
Output is correct |
4 |
Correct |
1 ms |
520 KB |
Output is correct |
5 |
Correct |
1 ms |
512 KB |
Output is correct |
6 |
Correct |
1 ms |
524 KB |
Output is correct |
7 |
Correct |
1 ms |
524 KB |
Output is correct |
8 |
Correct |
0 ms |
516 KB |
Output is correct |
9 |
Correct |
0 ms |
524 KB |
Output is correct |
10 |
Correct |
1 ms |
516 KB |
Output is correct |
11 |
Correct |
1 ms |
508 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
65 ms |
9096 KB |
Partially correct |
2 |
Partially correct |
66 ms |
9132 KB |
Partially correct |
3 |
Incorrect |
61 ms |
9048 KB |
Wrong Answer [6] |
4 |
Halted |
0 ms |
0 KB |
- |