Submission #1044528

# Submission time Handle Problem Language Result Execution time Memory
1044528 2024-08-05T10:26:34 Z fv3 Unscrambling a Messy Bug (IOI16_messy) C++14
38 / 100
1 ms 388 KB
#include "messy.h"

#include <bits/stdc++.h>
using namespace std;

vector<int> restore_permutation(int N, int W, int R)
{
    // Try with different bitcounts:
    // 1000
    // 1100
    // 1110

    // w = n - 1
    // r = n*(n+1)/2 - 1

    string element(N, '0');
    for (int i = 0; i < N - 1; i++)
    {
        element[i] = '1';
        add_element(element);
    }
    compile_set();

    vector<int> perm(N, -1);
    string securedBits(N, '0');
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            if (securedBits[j] == '1') continue;
            securedBits[j] = '1';
            if (check_element(securedBits))
            {
                perm[j] = i;
                break;
            }
            securedBits[j] = '0';
        }
    }

    int sum = 0;
    int index;
    for (int i = 0; i < N; i++)
    {
        if (perm[i] == -1)
            index = i;
        else
            sum += perm[i];
    }
    perm[index] = (N * N - N) / 2 - sum;

    return perm;
}

Compilation message

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:50:15: warning: 'index' may be used uninitialized in this function [-Wmaybe-uninitialized]
   50 |     perm[index] = (N * N - N) / 2 - sum;
      |               ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB n = 8
2 Correct 0 ms 348 KB n = 8
3 Correct 0 ms 348 KB n = 8
4 Correct 0 ms 348 KB n = 8
5 Correct 0 ms 348 KB n = 8
6 Correct 0 ms 348 KB n = 8
7 Correct 0 ms 348 KB n = 8
8 Correct 0 ms 348 KB n = 8
9 Correct 0 ms 348 KB n = 8
10 Correct 0 ms 348 KB n = 8
11 Correct 0 ms 348 KB n = 8
12 Correct 0 ms 384 KB n = 8
13 Correct 0 ms 348 KB n = 8
14 Correct 0 ms 348 KB n = 8
15 Correct 0 ms 348 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB n = 32
2 Correct 0 ms 344 KB n = 32
3 Correct 0 ms 348 KB n = 32
4 Correct 1 ms 348 KB n = 32
5 Correct 0 ms 348 KB n = 32
6 Correct 0 ms 348 KB n = 32
7 Correct 0 ms 388 KB n = 32
8 Correct 1 ms 348 KB n = 32
9 Correct 0 ms 348 KB n = 32
10 Correct 0 ms 348 KB n = 32
11 Correct 1 ms 348 KB n = 32
12 Correct 0 ms 348 KB n = 32
13 Correct 0 ms 348 KB n = 32
14 Correct 0 ms 348 KB n = 32
15 Correct 0 ms 348 KB n = 32
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB n = 32
2 Correct 0 ms 348 KB n = 32
3 Incorrect 0 ms 348 KB grader returned WA
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB grader returned WA
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB grader returned WA
2 Halted 0 ms 0 KB -