| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1286951 | cowkim | Art Collections (BOI22_art) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <queue>
#include <string>
#include <math.h>
#include <cctype>
#include <cstdint>
#include <climits>
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <queue>
#include <string>
#include <math.h>
#include <cctype>
#include <cstdint>
#include <climits>
#include <iomanip>
#include <art.h>
#define ll long long
#define endl "\n"
using namespace std;
void solve(int n){
vector<int> permutation(n);
for(int i = 0; i<n; i++){
permutation[i] = i+1;
}
int first = publish(permutation);
vector<int> distFromOne(n,0);
for(int i = 1; i< n; i++){
swap(permutation[0],permutation[i]);
int cur = publish(permutation);
swap(permutation[i],permutation[0]);
distFromOne[i] = cur - first;
}
vector<pair<int,int>> ans(n);
for(int i = 0; i< n; i++){
ans[i] = {distFromOne[i],permutation[i]};
}
sort(ans.begin(),ans.end());
vector<int> actualAns(n);
for(int i = 0; i<n; i++){
actualAns[i] = ans[i].second;
}
answer(actualAns);
}
