Submission #940837

# Submission time Handle Problem Language Result Execution time Memory
940837 2024-03-07T18:07:54 Z Doncho_Bonboncho Super Dango Maker (JOI22_dango3) C++17
0 / 100
53 ms 764 KB
#include "dango3.h"
#include <bits/stdc++.h>
   
using namespace std;


#ifndef LOCAL
#define cerr if(false)cerr
#endif

#define out(x) #x << " = " << x << "  "

void f( int currBr, std::vector< int > v ){

	cerr << endl << " ############ " << endl;
	cerr << out( currBr ) << endl;
	for( auto j : v ) cerr << j << " ";
	cerr << endl;


	if( currBr == 1 ){
		Answer( v );
		return;
	}

	int l = 0, r = v.size();

	while( l != r-1 ){

		std::vector< int > V;
		int m = ( l + r ) >> 1;
		for( int i=0 ; i <= m ; i++ ) V.push_back( v[i] );

		cerr << out( l ) << out( m ) << out( r ) << endl;
		for( auto j : V ) cerr << j << " ";
		cerr << endl;

		if( Query( V ) < currBr/2 ) l = m;
		else r = m;
	}

	std::vector< int > firRet;
	std::vector< int > secRet;

	for( int i=0 ; i <= r ; i++ ) firRet.push_back( v[i] );
	for( int i=r+1 ; i < v.size() ; i++ ) secRet.push_back( v[i] );

	for( int i=0 ; i<firRet.size() ; i++ ){
		int currRem = firRet[i];
		std::swap( firRet[i], firRet[firRet.size() -1] );
		firRet.pop_back();

		if( Query( firRet ) != currBr/2 ){
			firRet.push_back( currRem );
			std::swap( firRet[i], firRet[firRet.size() -1] );
		}else secRet.push_back( currRem );

	}

	f( currBr /2, firRet );
	f( currBr /2, secRet );
}

void Solve(int N, int M) {
	

	std::vector< int > v;
	for( int i=1 ; i<=N*M ; i++ ) v.push_back( i );

	f( M, v );

}

Compilation message

dango3.cpp: In function 'void f(int, std::vector<int>)':
dango3.cpp:46:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |  for( int i=r+1 ; i < v.size() ; i++ ) secRet.push_back( v[i] );
      |                   ~~^~~~~~~~~~
dango3.cpp:48:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |  for( int i=0 ; i<firRet.size() ; i++ ){
      |                 ~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 14 ms 600 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 53 ms 764 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -