Submission #1120167

#TimeUsernameProblemLanguageResultExecution timeMemory
1120167vjudge1Art Collections (BOI22_art)C++17
5 / 100
98 ms576 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;
//
// --- Sample implementation for the task art ---
//
// To compile this program with the sample grader, place:
//     art.h art_sample.cpp sample_grader.cpp
// in a single folder, then open the terminal in this directory (right-click onto an empty spot in the directory,
// left click on "Open in terminal") and enter e.g.:
//     g++ -std=c++17 art_sample.cpp sample_grader.cpp
// in this folder. This will create a file a.out in the current directory which you can execute from the terminal
// as ./a.out
// See task statement or sample_grader.cpp for the input specification
//
double t = 1.0;

double rnd() {
	return double(rand()) / RAND_MAX;
}

void solve(int n) {
	srand(time(0));
	vector <int> order;
	for (int i = 1; i <= n; i++) {
		order.push_back(i);
	}
	random_shuffle(order.begin(), order.end());
	int ans = publish(order);
	while(ans > 0) {
		t *= 0.99;
		vector <int> v = order;
		swap(v[rand() % n], v[rand() % n]);
		int sum = publish(v);
		if (sum < ans || rnd() < exp((ans - sum) / t)) {
			ans = sum;
			order = v;
		}
	}
	answer(order);
}

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...