Problema con oii_condomini

Ciao, stavo cercando di risolvere il problema Case de lo commune (condomini), ma la mia soluzione non passa alcuni testcase (sebbene ne passino comunque almeno la metà). Ho provato a cercare qualche testcase che non passa a mano, ma non riesco a trovarne. Se qualcuno riuscisse a darmene uno che rompa il mio codice grazie.

La mia idea era semplicemente cercare le case che hanno case più alte sia a destra che a sinistra e trovare l’intervallo maggiore tra due di queste case.
Condivido il mio codice:

int sbugiarda(int N, vector<int> H) {
    vector<int> problemi;
    problemi.push_back(0);

    for (int i = 1; i<N-1; i++) {
        if (H[i] <= H[i-1] && H[i] <= H[i+1]) {
            problemi.push_back(i);
        }
    }
    problemi.push_back(N-1);
    int maxx = -1;

    for (int i = 0; i<problemi.size()-1; i++) {
        maxx = max(maxx, problemi[i+1] - problemi[i] +1);
    }
    return maxx;
}

Grazie in anticipo

Leggi attentamente il testo.
Comunque, di solito il numero di testcase risolti da una soluzione è un pessimo indicatore di quanto essa sia giusta. È possibile avere soluzioni che sbagliano tutti i casi ma solo per overflow, così come soluzioni rotte che vengono distinte solo da pochi testcase.

1 Mi Piace

Ho riletto il testo più volte perché appunto immaginavo di averlo capito male, ma a sto punto non credo. Da quello che ho capito bisogna cercare il massimo numero di elementi continui che siano più alti di tutti gli elementi alla loro destra o sinistra (o entrambi). Mi dai conferma? Ed è quello che la mia soluzione fa, almeno mi sembra, essendo che in tutti i testcase che provo non sbaglia. Se riuscissi a darmi un input che non funziona poi posso provare a risolvere il problema.

No. Il problema ti chiede di trovare il segmento in cui è presente il massimo numero di palazzi panoramici (se non consideri i palazzi esterni al segmento), indipendentemente dal fatto che lo siano tutti o meno.

Per esempio se il segmento da te scelto contenesse palazzi alti

1 2 4 3 5

la risposta sarebbe 4 perché risulterebbero panoramici i palazzi alti 1, 2, 4 e 5.

ahh ecco, grazie mille del chiarimento