# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
111964 | mechfrog88 | Memory 2 (JOI16_memory2) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
struct s{
ll num;
ll times;
bool operator <(const s& rhs) const {
return times < rhs.times;
}
};
void Solve(int T, int N){
vector <ll> num(N,0);
for (int x=0;x<N;x++){
for (int z=0;z<N;z++){
num[Flip(z,z+1)]++;
}
}
vector <s> arr(N);
for (int z=0;z<N;z++){
arr[z].num = z;
arr[z].times = num[z];
}
sort(arr.begin(),arr.end());
vector <ll> visited(N,false);
for (int z=0;z<arr.size();z++){
for (int x=0;x<N;x++){
ll next = x+1;
while (visited[next]){
next++;
}
if (Flip(x,next) == arr[z].num){
Answer(x,next,arr[z].num);
visited[x] = true;
visited[next] = true;
}
}
}
return;
}