Submission #652623

#TimeUsernameProblemLanguageResultExecution timeMemory
652623ymmArt Collections (BOI22_art)C++17
100 / 100
1651 ms760 KiB
#include "art.h"
#include <bits/stdc++.h>
#define Loop(x,l,r) for (ll x = (l); x < (ll)(r); ++x)
#define LoopR(x,l,r) for (ll x = (r)-1; x >= (ll)(l); --x)
typedef long long ll;
typedef std::pair<int, int> pii;
typedef std::pair<ll , ll > pll;
using namespace std;

const int N = 4000;
int st[N], ord[N];
int n;

void solve(int _N)
{
	n = _N;
	vector<int> vec(n);
	iota(vec.begin(), vec.end(), 1);
	Loop (_,0,n) {
		st[vec[0]-1] = publish(vec);
		int x = vec.back();
		vec.pop_back();
		vec.insert(vec.begin(), x);
	}
	Loop (i,0,n)
		ord[i] = (st[i] - st[(i+1)%n] + (n-1))/2;
	vector<int> ans(n);
	Loop (i,0,n)
		ans[ord[i]] = i+1;
	answer(ans);
}

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