Submission #75292

# Submission time Handle Problem Language Result Execution time Memory
75292 2018-09-09T06:43:10 Z KieranHorgan Mechanical Doll (IOI18_doll) C++17
37 / 100
167 ms 12920 KB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> A, X, Y, C;
int dep[200];
int nextTrigger = -1;
int solve(vector<int> a, int d) {
  if(a.size() == 1) return a[0];
  int trigger = nextTrigger--;
  vector<int> b;
  dep[d]++;
  for(int i = 0; i < a.size(); i+=2)
    b.push_back(a[i]);
  int l = solve(b, d+1);
  b.clear();
  for(int i = 1; i < a.size(); i+=2)
    b.push_back(a[i]);
  int r = solve(b, d+1);
  b.clear();

  if(-(trigger+1) >= X.size())
    X.resize(-(trigger)), Y.resize(-(trigger));
  X[-(trigger+1)] = l;
  Y[-(trigger+1)] = r;
  return trigger;
}

void create_circuit(int M, vector<int> A_) {
  A = A_;
  int N = A.size();
  while(__builtin_popcount(A.size()+1) != 1) {
    A.push_back(-1);
  }
  A.push_back(0);
  C.assign(M+1, -1);

  solve(A, 1);
  // cerr << nextTrigger << endl;
  // for(int i = 1; dep[i]; i++)
    // cerr << i << ": " << dep[i] << endl;
// 
  // cerr << N << " " << X.size() << endl;

  answer(C, X, Y);
}

Compilation message

doll.cpp: In function 'int solve(std::vector<int>, int)':
doll.cpp:13:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |   for(int i = 0; i < a.size(); i+=2)
      |                  ~~^~~~~~~~~~
doll.cpp:17:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |   for(int i = 1; i < a.size(); i+=2)
      |                  ~~^~~~~~~~~~
doll.cpp:22:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |   if(-(trigger+1) >= X.size())
      |      ~~~~~~~~~~~~~^~~~~~~~~~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:31:7: warning: unused variable 'N' [-Wunused-variable]
   31 |   int N = A.size();
      |       ^
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 204 KB Output is partially correct
2 Partially correct 140 ms 11604 KB Output is partially correct
3 Partially correct 135 ms 11592 KB Output is partially correct
4 Partially correct 128 ms 11944 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 204 KB Output is partially correct
2 Partially correct 140 ms 11604 KB Output is partially correct
3 Partially correct 135 ms 11592 KB Output is partially correct
4 Partially correct 128 ms 11944 KB Output is partially correct
5 Partially correct 161 ms 12916 KB Output is partially correct
6 Partially correct 133 ms 12920 KB Output is partially correct
7 Partially correct 167 ms 12796 KB Output is partially correct
8 Partially correct 135 ms 12564 KB Output is partially correct
9 Partially correct 133 ms 11596 KB Output is partially correct
10 Partially correct 132 ms 12584 KB Output is partially correct
11 Partially correct 130 ms 12288 KB Output is partially correct
12 Partially correct 124 ms 11792 KB Output is partially correct
13 Partially correct 131 ms 12096 KB Output is partially correct
14 Partially correct 134 ms 12228 KB Output is partially correct
15 Partially correct 139 ms 12228 KB Output is partially correct
16 Partially correct 5 ms 672 KB Output is partially correct
17 Correct 74 ms 6800 KB Output is correct
18 Partially correct 124 ms 11832 KB Output is partially correct
19 Partially correct 144 ms 11808 KB Output is partially correct
20 Partially correct 128 ms 12448 KB Output is partially correct
21 Partially correct 137 ms 12220 KB Output is partially correct
22 Partially correct 128 ms 12232 KB Output is partially correct