Submission #832745

#TimeUsernameProblemLanguageResultExecution timeMemory
832745gustasonFruits (NOI22_fruits)C++14
11 / 100
80 ms16280 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define int ll signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; int a[n], c[n]; for(int i = 0; i < n; i++) { cin >> a[i]; } for(int i = 0; i < n; i++) { cin >> c[i]; } if (n >= 9) { ll sum = 0; for(int i = n-1; i >= 0; i--) { sum += c[i]; cout << sum << " "; } exit(0); } int order[n]; iota(order, order+n, 1); vector<ll> ans(n); do { int curr = -1; ll val = 0; for(int i = 0; i < n; i++) { if (a[i] != -1 && order[i] != a[i]) { goto Out; } } for(int i = 0; i < n; i++) { if (order[i] > curr) { curr = order[i]; val += c[order[i]-1]; } ans[i] = max(ans[i], val); } Out:; } while(next_permutation(order, order+n)); for(auto& i : ans) { cout << i << " "; } cout << "\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...