Minisupplì: Execution killed (could be triggered by violating memory limits)

Salve, sto provando a risolvere il problema e mi riporta l’errore di “Execution killed (could be triggered by violating memory limits)”. Ho provato a sottoporre il codice più volte commentando ogni volta delle porzioni di codice; mi dà l’errore nella funzione solve, laddove vado a fare un confronto con degli elementi della matrice dp. Per quale motivo non potrei accedere a quelle celle di memoria?

Allego il codice:

#include <bits/stdc++.h>
#include <cstdio>

using namespace std;

constexpr int MAXN = 100;
constexpr int MOD = 1e9 + 7;

int solve(int N, vector<int>& A)
{
    vector<vector<char>> dp(N, vector<char>(100, false));
    sort(A.begin(), A.end());

    for(int i = 0; i < 100; i++) {
        if(i < A[0] || (i % A[0])) dp[0][i] = false;
        else dp[0][i] = true;
    }

    for(int i = 1; i < N; i++) {
        for(int j = 0; j <= A[i]; j++) {
            dp[i][j] = dp[i-1][j];
        }

        dp[i][A[i]] = true;

        for(int j = A[i]+1; j < 100; j++) {
            dp[i][j] = dp[i-1][j] || dp[i][j-A[i]];
        }
    }

    int ans = 99;
    while(ans >= 0) {
        if(dp[N-1][ans] == false) break;
        ans--;
    }

    return ans;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

//  freopen("input.txt", "r", stdin);
//  freopen("output.txt", "w", stdout

    int t = 1;
    //cin >> t;

    while(t--) {
        int n;
        vector<int> arr;

        cin >> n;
        for(int i = 0, x; i < n; i++) {
            cin >> x;
            arr.push_back(x);
        }

        printf("%d", solve(n, arr));
    }
}

Ma hai decommentato le righe di input e output?

Si e non cambia nulla, continua a darmi lo stesso errore

Ho sottoposto il tuo codice decommentando le righe in cui accedi ai file di input e output, e prende 100

L’ho provato non so quante volte ieri e non mi andava :'). Almeno ho risolto hahaha, grazie!

1 Mi Piace