Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Błąd wykonanie programu.

Ostatnio zmodyfikowano 2019-03-31 11:28
Autor Wiadomość
Mamcia
Temat założony przez niniejszego użytkownika
Błąd wykonanie programu.
» 2019-03-29 11:53:43
Cześć,

mam takie zadanie:
http://solve.edu.pl/contests/download_desc/2096

i taki kod:

C/C++
#include <bits/stdc++.h>
using namespace std;

long long int tab2[ 200005 ];
int main()
{
    ios_base::sync_with_stdio( false );
    cin.tie( 0 );
    long long int INF = 1e9;
    tab2[ 0 ] = 0;
    for( int i = 1; i <= 200005; i++ )
    {
        tab2[ i ] = INF;
    }
    int n;
    cin >> n;
    for( int i = 0; i < n; i++ )
    {
        long long int a;
        cin >> a;
        for( int j = 200005; j >= 0; j-- )
        {
            if( tab2[ j ] != INF )
            {
                tab2[ j + a ] = min( tab2[ j ] + 1, tab2[ j + a ] );
            }
        }
    }
   
    for( int i = 0; i < 200005; i++ ) {
        if( tab2[ i ] == INF ) {
            cout << i;
            return 0;
        }
    }
   
}

5 testów przechodzi a potem pokazuje mi błąd wykonania i nie wiem dlaczego :-(
Może ktoś widzi błąd?
P-174270
pekfos
» 2019-03-29 12:04:31
Przekraczasz zakres tablicy w pierwszej pętli.
P-174271
Mamcia
Temat założony przez niniejszego użytkownika
» 2019-03-29 12:08:25
hmmm...co należy zmienić ?
P-174272
mampro
» 2019-03-30 17:25:16
out
P-174284
pekfos
» 2019-03-31 11:28:38
Nie możesz użyć indeksu równego rozmiarowi tablicy. Robisz to wielokrotnie w tym kodzie.
P-174290
« 1 »
  Strona 1 z 1