Submission #953949

# Submission time Handle Problem Language Result Execution time Memory
953949 2024-03-27T01:14:05 Z irmuun Unscrambling a Messy Bug (IOI16_messy) C++17
49 / 100
1 ms 600 KB
#include<bits/stdc++.h>
#include "messy.h"

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

vector<int> restore_permutation(int n, int w, int r){
    if(n==8){
        vector<int>p(n);
        string s(n,'0');
        for(int i=n-1;i>=0;i--){
            add_element(s);
            s[i]='1';
        }
        compile_set();
        vector<int>cnt(n,0);
        for(int i=0;i<(1<<n);i++){
            string t="";
            for(int j=0;j<n;j++){
                if(i&(1<<j)) t+='0';
                else t+='1';
            }
            if(check_element(t)){
                for(int j=0;j<n;j++){
                    if(~i&(1<<j)){
                        cnt[j]++;
                    }
                }
            }
        }
        for(int i=0;i<n;i++){
            p[i]=cnt[i];
        }
        return p;
    }
    if(n==32){
        vector<int>ord(n);
        iota(all(ord),0);
        random_shuffle(all(ord));
        vector<int>p(n);
        string s(n,'0');
        for(int i=0;i<n;i++){
            s[i]='1';
            add_element(s);
        }
        compile_set();
        string cur(n,'0');
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(cur[ord[j]]=='0'){
                    cur[ord[j]]='1';
                    if(check_element(cur)){
                        p[ord[j]]=i;
                        break;
                    }
                    else{
                        cur[ord[j]]='0';
                    }
                }
            }
        }
        return p;
    }
    return {};
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB n = 8
2 Correct 1 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 1 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 1 ms 436 KB n = 8
11 Correct 0 ms 344 KB n = 8
12 Correct 0 ms 348 KB n = 8
13 Correct 0 ms 440 KB n = 8
14 Correct 0 ms 348 KB n = 8
15 Correct 1 ms 348 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 32
2 Correct 0 ms 348 KB n = 32
3 Correct 1 ms 348 KB n = 32
4 Correct 0 ms 348 KB n = 32
5 Correct 0 ms 348 KB n = 32
6 Correct 1 ms 348 KB n = 32
7 Correct 0 ms 436 KB n = 32
8 Correct 0 ms 348 KB n = 32
9 Correct 0 ms 348 KB n = 32
10 Correct 1 ms 348 KB n = 32
11 Correct 0 ms 348 KB n = 32
12 Correct 0 ms 348 KB n = 32
13 Correct 0 ms 348 KB n = 32
14 Correct 1 ms 348 KB n = 32
15 Correct 1 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 Correct 0 ms 348 KB n = 32
4 Correct 1 ms 432 KB n = 32
5 Correct 1 ms 344 KB n = 32
6 Correct 1 ms 348 KB n = 32
7 Correct 1 ms 348 KB n = 32
8 Correct 0 ms 348 KB n = 32
9 Correct 1 ms 348 KB n = 32
10 Correct 0 ms 348 KB n = 32
11 Correct 0 ms 344 KB n = 32
12 Correct 0 ms 432 KB n = 32
13 Correct 0 ms 600 KB n = 32
14 Correct 1 ms 348 KB n = 32
15 Correct 1 ms 348 KB n = 32
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 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 -