Submission #985109

# Submission time Handle Problem Language Result Execution time Memory
985109 2024-05-17T10:47:20 Z ShauryaTheShep Permutation (APIO22_perm) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric> // Include this header for iota

using namespace std;

// Function to count the number of increasing subsequences
int countIncreasingSubsequences(vector<int>& permutation) {
    int n = permutation.size();
    vector<int> dp(n, 1); // dp[i] will store the number of increasing subsequences ending at index i
    
    int totalCount = 0;
    
    // Calculate the number of increasing subsequences ending at each index
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < i; ++j) {
            if (permutation[j] < permutation[i]) {
                dp[i] += dp[j];
            }
        }
        totalCount += dp[i];
    }
    
    return totalCount;
}

// Function to construct a permutation with exactly k increasing subsequences
vector<int> construct_permutation(int64_t k) {
    int n = 2;
    vector<int> permutation;
    
    while (true) {
        permutation.resize(n);
        iota(permutation.begin(), permutation.end(), 0);
        
        do {
            if (countIncreasingSubsequences(permutation) == k) {
                return permutation;
            }
        } while (next_permutation(permutation.begin(), permutation.end()));
        
        ++n;
    }
    
    return {}; // Should not reach here if k is within valid range
}

int main() {
    int64_t k;
    cin >> k;
    
    vector<int> result = construct_permutation(k);
    
    for (int x : result) {
        cout << x << " ";
    }
    cout << endl;
    
    return 0;
}

Compilation message

/usr/bin/ld: /tmp/ccnzqTGF.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccA6TaQG.o:perm.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccnzqTGF.o: in function `main':
grader.cpp:(.text.startup+0x240): undefined reference to `construct_permutation(long long)'
collect2: error: ld returned 1 exit status