Submission #240931

# Submission time Handle Problem Language Result Execution time Memory
240931 2020-06-21T14:13:53 Z Ruxandra985 Mechanical Doll (IOI18_doll) C++14
37 / 100
159 ms 26392 KB
#include <bits/stdc++.h>
#include "doll.h"

using namespace std;

vector <int> x , y , w[400010];

int v[400010] , elem , newp[400010] , previous , f[200010];


void create_circuit(int m, vector<int> a) {
    int n = a.size() , i , l , aux , conf;
    vector <int> c;

    c.push_back(-1);

    for (i = 1 ; i <= m ; i++)
        c.push_back(-1);

    /// trb sa vezi cate noduri nu iti sunt necesare

    l = 0;
    while ((1 << l) <= n){
        l++;
    }


    for (i = 1 ; i <= (1 << l) - 1 ; i++){

        if (2 * i <= (1 << l) - 1){

            w[i].push_back(2 * i);
            w[i].push_back(2 * i + 1);

        }

    }

    for (i = 1 ; i <= (1 << l) - 1 ; i++){

        if (2 * i > (1 << l) - 1){

            aux = 2 * i;
            conf = 0;

            while (aux){
                conf = conf * 2 + (aux % 2);
                aux /= 2;
            }

            conf /= 2;

            if (conf < a.size())
                w[i].push_back(-a[conf]);
            else if (conf == (1 << l) - 1){
                w[i].push_back(0);
            }
            else w[i].push_back(1);

            /// -----------------------------------

            aux = 2 * i + 1;
            conf = 0;

            while (aux){
                conf = conf * 2 + (aux % 2);
                aux /= 2;
            }

            conf /= 2;

            if (conf < a.size())
                w[i].push_back(-a[conf]);
            else if (conf == (1 << l) - 1){
                w[i].push_back(0);
            }
            else w[i].push_back(1);


        }

    }


    x.resize((1 << l) - 1 , 0);
    y.resize((1 << l) - 1 , 0);



    for (i = 1 ; i <= (1 << l) - 1 ; i++){

        x[i - 1] = -w[i][0];
        y[i - 1] = -w[i][1];

    }

    answer (c , x , y);

}

Compilation message

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:53:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |             if (conf < a.size())
      |                 ~~~~~^~~~~~~~~~
doll.cpp:72:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |             if (conf < a.size())
      |                 ~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 9676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 9676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 9676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 9676 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 10 ms 9676 KB Output is partially correct
2 Partially correct 103 ms 25164 KB Output is partially correct
3 Partially correct 124 ms 25176 KB Output is partially correct
4 Partially correct 159 ms 25632 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 10 ms 9676 KB Output is partially correct
2 Partially correct 103 ms 25164 KB Output is partially correct
3 Partially correct 124 ms 25176 KB Output is partially correct
4 Partially correct 159 ms 25632 KB Output is partially correct
5 Partially correct 126 ms 26392 KB Output is partially correct
6 Partially correct 121 ms 26368 KB Output is partially correct
7 Partially correct 126 ms 26308 KB Output is partially correct
8 Partially correct 130 ms 26144 KB Output is partially correct
9 Partially correct 106 ms 25088 KB Output is partially correct
10 Partially correct 118 ms 26036 KB Output is partially correct
11 Partially correct 129 ms 25772 KB Output is partially correct
12 Partially correct 151 ms 25380 KB Output is partially correct
13 Partially correct 125 ms 25712 KB Output is partially correct
14 Partially correct 129 ms 25820 KB Output is partially correct
15 Partially correct 110 ms 25844 KB Output is partially correct
16 Partially correct 11 ms 10188 KB Output is partially correct
17 Correct 69 ms 17896 KB Output is correct
18 Partially correct 108 ms 25360 KB Output is partially correct
19 Partially correct 113 ms 25324 KB Output is partially correct
20 Partially correct 121 ms 25952 KB Output is partially correct
21 Partially correct 120 ms 25692 KB Output is partially correct
22 Partially correct 119 ms 25680 KB Output is partially correct