Submission #132626

# Submission time Handle Problem Language Result Execution time Memory
132626 2019-07-19T08:55:42 Z dvdg6566 Mechanical Doll (IOI18_doll) C++14
16 / 100
113 ms 11676 KB
#include "doll.h"
#include<bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
#define pb emplace_back
#define SZ(x) (int)x.size()

inline int MSB(unsigned int x){
  return 32-__builtin_clz(x);
}

vi occ[100100];

void create_circuit(int M, std::vector<int> A) {
  int N = A.size();
  std::vector<int> C(M + 1,-1);
  vi X,Y;
  occ[0].pb(A[0]);
  for (int i=0;i<N-1;++i){
    occ[A[i]].pb(A[i+1]);
  }
  occ[A[N-1]].pb(0);
  int c = -1;
  for (int i=0;i<=M;++i){
    if (SZ(occ[i]) == 0){
      C[i]=0;
    }else if(SZ(occ[i]) == 1){
      C[i]=occ[i][0];
    }else if (SZ(occ[i]) == 2){
      C[i] = c;
      --c;
      X.pb(occ[i][0]);
      Y.pb(occ[i][1]);
    }else if (SZ(occ[i]) == 3){
      int a = c;
      C[i] = a;
      c -= 3;
      X.pb(a-1);
      Y.pb(a-2);
      X.pb(occ[i][0]);
      Y.pb(a);
      X.pb(occ[i][1]);
      Y.pb(occ[i][2]);
    }else if (SZ(occ[i]) == 4){
      int a = c;
      C[i] = a;
      c -= 3;
      X.pb(a-1);
      Y.pb(a-2);
      X.pb(occ[i][0]);
      Y.pb(occ[i][2]);
      X.pb(occ[i][1]);
      Y.pb(occ[i][3]);
    }
  }
  // for (int i=0;i<=M;++i)cout<<C[i]<<' ';cout<<'\n';
  answer(C,X,Y);
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2636 KB Output is correct
2 Correct 41 ms 6372 KB Output is correct
3 Correct 29 ms 5964 KB Output is correct
4 Correct 3 ms 2636 KB Output is correct
5 Correct 14 ms 3788 KB Output is correct
6 Correct 46 ms 7628 KB Output is correct
7 Correct 3 ms 2636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2636 KB Output is correct
2 Correct 41 ms 6372 KB Output is correct
3 Correct 29 ms 5964 KB Output is correct
4 Correct 3 ms 2636 KB Output is correct
5 Correct 14 ms 3788 KB Output is correct
6 Correct 46 ms 7628 KB Output is correct
7 Correct 3 ms 2636 KB Output is correct
8 Correct 58 ms 8028 KB Output is correct
9 Correct 74 ms 8580 KB Output is correct
10 Correct 87 ms 10984 KB Output is correct
11 Correct 3 ms 2636 KB Output is correct
12 Correct 3 ms 2636 KB Output is correct
13 Correct 3 ms 2636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2636 KB Output is correct
2 Correct 41 ms 6372 KB Output is correct
3 Correct 29 ms 5964 KB Output is correct
4 Correct 3 ms 2636 KB Output is correct
5 Correct 14 ms 3788 KB Output is correct
6 Correct 46 ms 7628 KB Output is correct
7 Correct 3 ms 2636 KB Output is correct
8 Correct 58 ms 8028 KB Output is correct
9 Correct 74 ms 8580 KB Output is correct
10 Correct 87 ms 10984 KB Output is correct
11 Correct 3 ms 2636 KB Output is correct
12 Correct 3 ms 2636 KB Output is correct
13 Correct 3 ms 2636 KB Output is correct
14 Correct 113 ms 11676 KB Output is correct
15 Correct 56 ms 7380 KB Output is correct
16 Correct 90 ms 9808 KB Output is correct
17 Correct 3 ms 2636 KB Output is correct
18 Correct 3 ms 2636 KB Output is correct
19 Correct 3 ms 2636 KB Output is correct
20 Correct 111 ms 11088 KB Output is correct
21 Correct 3 ms 2648 KB Output is correct
22 Correct 3 ms 2636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 2636 KB wrong serial number
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2636 KB wrong serial number
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 2636 KB wrong serial number
2 Halted 0 ms 0 KB -