Submission #1139594

#TimeUsernameProblemLanguageResultExecution timeMemory
1139594stdfloatPermutation Recovery (info1cup17_permutation)C++20
0 / 100
1096 ms324 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define sz(v) (int)(v).size() #define all(v) (v).begin(), (v).end() int n; vector<bool> vis; vector<int> a, p, v; void f(int x) { if (x == n) { for (auto i : p) cout << i + 1 << ' '; exit(false); } for (int i = 0; i < n; i++) { if (vis[i]) continue; p[x] = i; v[x] = 1; for (int j = 0; j < x; j++) if (p[j] < i) v[x] += v[j]; if (a[x] - (x ? a[x - 1] : 0) != v[x]) continue; vis[i] = true; f(x + 1); vis[i] = false; } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n; a.assign(n, 0); for (auto &i : a) cin >> i; vis.assign(n, false); p = v = vector<int>(n); f(0); }
#Verdict Execution timeMemoryGrader output
Fetching results...