Submission #714389

#TimeUsernameProblemLanguageResultExecution timeMemory
714389vjudge1Art Collections (BOI22_art)C++17
20 / 100
129 ms332 KiB
#include <art.h>
#include <bits/stdc++.h>

using namespace std;

void solve(int N){
	vector<int> a(N);
	for(int i=0 ; i<N ; i++){
		a[i] = i + 1;
	}
	int now = publish(a);
	while(now){
        for(int i=N-1 ; i>=0 ; i--){
            int l = 0 , r = i-1 , ind = -1;
            while(l <= r){
                int mid = (l + r) / 2;
                swap(a[mid] , a[i]);
                int deyer = publish(a);
                //cout << deyer << ln;
                swap(a[mid] , a[i]);
                if(deyer <= now){
                    ind = mid;
                    r = mid - 1;
                    now = deyer;
                }
                else{
                    l = mid + 1;
                }
            }
            l = i+1 , r = N-1;
            while(l <= r){
                int mid = (l + r) / 2;
                swap(a[mid] , a[i]);
                int deyer = publish(a);
                //cout << deyer << ln;
                swap(a[mid] , a[i]);
                if(deyer <= now){
                    ind = mid;
                    l = mid + 1;
                    now = deyer;
                }
                else{
                    r = mid - 1;
                }
            }
            if(ind != -1){
                swap(a[ind] , a[i]);
            }
        }
    }
	answer(a);
}

Compilation message (stderr)

interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...