topK MLE problem

Evo koda, MLE na svakom primeru dobijam. I imate li neki savet oko koriscenja memorije sta radim pogresno itd.

 #include <iostream>

using namespace std;

int main()
{
    int n,k;
    cin >> n >> k;
    int br[n],brmax[k],d=0;
    for(int i=0; i<n; i++)
    {
    cin >> br[i];
    }
    for(int i=0; i<k; i++)
    {
    brmax[i] = -1000000000;
    for(int j=0; j<n; j++)
    {
    if(br[j] >= brmax[i] && br[j] != -1000000000)
    {
    brmax[i] = br[j];
    d=j;
    }
    }
    cout << brmax[i] << " ";
    br[d] = -1000000000;
    }
    return 0;
}

Problem je u grejderu…

Komentar na kod:

Taj kod verovatno ne radi nista jer ne mozes da definises velicinu niza pomocu promenljive. Ipak verovatno bi i prekoracio memorijsko ogranicenje. U jedan 1Mb mozes da smestis oko 260 hiljada intova dok ti je u tvom slucaju potencijalna velicina niza i do milion.

Ipak uopste ne moras da pamtis sve clanove niza u svakom trenutku - dovoljno je da znas K najvecih.