Submission #824246

# Submission time Handle Problem Language Result Execution time Memory
824246 2023-08-13T20:44:47 Z LucaIlie Minerals (JOI19_minerals) C++17
6 / 100
5 ms 336 KB
#include "minerals.h"
#include <bits/stdc++.h>

using namespace std;

const int MAX_N = 43000;
const int B = 20;
const int UNDEF = -1;
int perm[2 * MAX_N + 1], pairr[2 * MAX_N + 1];
set<int> notPaired, s;
vector<int> pairedQueue;

void Solve( int n ) {
    for ( int i = 0; i < 2 * n; i++ ) {
        perm[i] = i + 1;
        pairr[i] = UNDEF;
        notPaired.insert( i );
    }
    random_shuffle( perm, perm + 2 * n );

    while ( !notPaired.empty() ) {
        pairedQueue.clear();
        for ( int i: notPaired ) {
            int x = Query( perm[i] );
            if ( x > B ) {
                Query( perm[i] );
                continue;
            }
            if ( x == s.size() ) {
                int p = UNDEF;
                for ( int j: s ) {
                    int y = Query( perm[j] );
                    if ( x == y ) {
                        p = j;
                        break;
                    } else
                        Query( perm[j] );
                }
                pairr[i] = p;
                pairr[p] = i;
                pairedQueue.push_back( i );
                pairedQueue.push_back( p );
                s.erase( p );
                Query( perm[i] );
            } else
                s.insert( i );
        }
        for ( int i: pairedQueue )
            notPaired.erase( i );
    }

    for ( int i = 0; i < 2 * n; i++ ) {
        if ( pairr[i] < i )
            Answer( perm[pairr[i]], perm[i] );
    }
}

Compilation message

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:29:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::set<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |             if ( x == s.size() ) {
      |                  ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 336 KB Wrong Answer [2]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 336 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 5 ms 336 KB Wrong Answer [2]
6 Halted 0 ms 0 KB -