# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
685466 | 2023-01-24T12:07:13 Z | dranaya_dusha | Secret Permutation (RMI19_permutation) | C++17 | 1 ms | 208 KB |
//#pragma GCC optimize ("Ofast") #include <bits/stdc++.h> #include "permutation.h" using namespace std; vector<int> ans(300), q(300), v; int n; vector<int> used; void check (int p) { used[ans[p]]=1; if (p == n && abs(ans[p] - ans[1] ) == q[n]) { vector<int> tut(n+10); for (int i=1; i<=n; i++) tut[v[i - 1]] = ans[i]; vector<int> ca; for (int i=1; i<=n; i++) ca.push_back(tut[i]); answer(ca); exit(0); } else { if (ans[p]+q[p]<=n && ans[p]+q[p] > 0 && !used[ans[p]+q[p]]) { ans[p+1]=ans[p]+q[p]; // used[ans[v[p]-1]+q[i]]=1; check(p+1); } if (ans[p]-q[p] > 0 && ans[p]-q[p] <= n && !used[ans[p]-q[p]]) { ans[p+1]=ans[p]-q[p]; // used[ans[v[p]-1]+q[i]]=1; check(p+1); } used[ans[p]]=0; ans[p]=0; } } void solve(int nn) { n=nn; for (int i=1; i<=n; i++) v.push_back(i); srand(time(NULL)); random_shuffle(v.begin(), v.end()); for(int i=1; i<=n; i++) { rotate(v.begin(),v.begin()+1,v.end()); q[i] = query(v); } rotate(v.begin(),v.begin()+1,v.end()); int sum=0; for(int i=1; i<=n; i++) { sum+=q[i]; } sum/=(n-1); for(int i=1; i<=n; i++) q[i]=(sum-q[i]); q[n+1]=q[1]; for(int i=1; i<=n; i++) q[i]=q[i+1]; ans.assign(n+10, 0); for (int i=1; i<=n; i++) { used.assign(n+10, 0); ans.assign(n+10, 0); ans[1]=i; check(1); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 1 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 1 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 208 KB | Output is correct |
2 | Correct | 1 ms | 208 KB | Output is correct |
3 | Incorrect | 1 ms | 208 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |