Submission #556923

# Submission time Handle Problem Language Result Execution time Memory
556923 2022-05-04T11:34:42 Z cadmiumsky Broken Device (JOI17_broken_device) C++14
0 / 100
210 ms 2616 KB
#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;
}
# Verdict Execution time Memory 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