Submission #75449

# Submission time Handle Problem Language Result Execution time Memory
75449 2018-09-09T19:59:31 Z C_SUNSHINE Mechanical Doll (IOI18_doll) C++14
37 / 100
135 ms 9724 KB
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <vector>
#include "doll.h"
using namespace std;

int N,M,H;
vector<int> C,X,Y,A;

int Get(int p)
{
  int t=p;
  p=0;
  for(int i=0;i<H;i++)
    p=(p<<1)|(t&1),t>>=1;
  if(p<N)return A[p];
  else if(p==(1<<H)-1)return 0;
  return -1;
}

void create_circuit(int M, std::vector<int> A)
{
  N=A.size();
  ::M=M;
  ::A=A;
  C.assign(M+1,-1);
  for(H=0;(1<<H)<=N;H++);
  X.resize((1<<H)-1);
  Y.resize((1<<H)-1);
  for(int i=1;i<(1<<H);i++)
  {
    if(i*2<(1<<H))
    {
      X[i-1]=-(i*2);
      Y[i-1]=-(i*2+1);
    }
    else
    {
      X[i-1]=Get(i*2-(1<<H));
      Y[i-1]=Get(i*2+1-(1<<H));
    }
  }
  if(X.size()>N*2)while(1);
  //for(int i=0;i<C.size();i++)cout<<C[i]<<' ';cout<<endl;
  //for(int i=0;i<X.size();i++)cout<<X[i]<<' '<<Y[i]<<endl;
  answer(C, X, Y);
}

Compilation message

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:46:14: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   46 |   if(X.size()>N*2)while(1);
      |      ~~~~~~~~^~~~
# 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 76 ms 8016 KB Output is partially correct
3 Partially correct 77 ms 8056 KB Output is partially correct
4 Partially correct 109 ms 8760 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 76 ms 8016 KB Output is partially correct
3 Partially correct 77 ms 8056 KB Output is partially correct
4 Partially correct 109 ms 8760 KB Output is partially correct
5 Partially correct 91 ms 9724 KB Output is partially correct
6 Partially correct 90 ms 9480 KB Output is partially correct
7 Partially correct 101 ms 9600 KB Output is partially correct
8 Partially correct 89 ms 9284 KB Output is partially correct
9 Partially correct 83 ms 8044 KB Output is partially correct
10 Partially correct 96 ms 9184 KB Output is partially correct
11 Partially correct 88 ms 8932 KB Output is partially correct
12 Partially correct 76 ms 8248 KB Output is partially correct
13 Partially correct 80 ms 8724 KB Output is partially correct
14 Partially correct 114 ms 8816 KB Output is partially correct
15 Partially correct 76 ms 8828 KB Output is partially correct
16 Partially correct 3 ms 588 KB Output is partially correct
17 Correct 67 ms 4888 KB Output is correct
18 Partially correct 75 ms 8248 KB Output is partially correct
19 Partially correct 74 ms 8248 KB Output is partially correct
20 Partially correct 135 ms 9236 KB Output is partially correct
21 Partially correct 91 ms 8872 KB Output is partially correct
22 Partially correct 87 ms 8856 KB Output is partially correct