Submission #1270419

#TimeUsernameProblemLanguageResultExecution timeMemory
1270419kl0989eUnscrambling a Messy Bug (IOI16_messy)C++20
49 / 100
1 ms328 KiB
#include "messy.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pi pair<int, int>
#define pl pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()

vi restore_permutation(int n, int w, int r) {
    string s(n,'0');
    for (int i=0; i<n-1; i++) {
        s[i]='1';
        add_element(s);
    }
    compile_set();
    vi resp(n,n-1);
    string rem(n,'0');
    vi ord(n);
    iota(all(ord),0);
    random_shuffle(all(ord));
    for (int i=0; i<n-1; i++) {
        for (int jj=0; jj<n; jj++) {
            int j=ord[jj];
            if (rem[j]=='0') {
                rem[j]='1';
                if (check_element(rem)) {
                    resp[j]=i;
                    break;
                }
                rem[j]='0';
            }
        }
    }
    return resp;
}

Compilation message (stderr)

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:26:19: warning: 'void std::random_shuffle(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<int*, vector<int> >]' is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
   26 |     random_shuffle(all(ord));
      |     ~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from messy.cpp:2:
/usr/include/c++/13/bits/stl_algo.h:4581:5: note: declared here
 4581 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
      |     ^~~~~~~~~~~~~~
messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...