제출 #1147422

#제출 시각아이디문제언어결과실행 시간메모리
1147422PacybwoahFruits (NOI22_fruits)C++20
6 / 100
1096 ms9912 KiB
#include<iostream>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
ll inf = 1e18;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int> vec(n + 1);
    vector<ll> cost(n + 1);
    for(int i = 0; i < n; i++) cin >> vec[i + 1];
    for(int i = 1; i <= n; i++) cin >> cost[i];
    vector<int> perm;
    for(int i = 1; i <= n; i++) perm.push_back(i);
    vector<ll> anss(n + 1);
    do{
        int flag = n;
        for(int i = 1; i <= n; i++){
            if(perm[i - 1] != vec[i] && vec[i] != -1){
                flag = i - 1;
                break;
            }
        }
        if(flag != n) continue;
        int maxi = 0;
        ll sum = 0;
        for(int i = 0; i < n; i++){
            if(maxi < perm[i]){
                maxi = perm[i];
                sum += cost[perm[i]];
            }
            anss[i + 1] = max(anss[i + 1], sum);
        }

    }while(next_permutation(perm.begin(), perm.end()));
    for(int i = 1; i <= n; i++) cout << anss[i] << " \n"[i == n];
}
// g++ -std=c++20 -Wall -Wextra -Wshadow -fsanitize=undefined -fsanitize=address -o run pE_brute.cpp
#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...