# Problema Science against spam

**URL:** <https://forum.olinfo.it/t/problema-science-against-spam/4646>\
**Category:** Aiuto\
**Created:** [23 Maggio 2017, 9:50pm UTC](https://forum.olinfo.it/t/problema-science-against-spam/4646 "2017-05-23T21:50:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tredici](https://forum.olinfo.it/user_avatar/forum.olinfo.it/tredici/32/2637_2.png) [@Tredici](https://forum.olinfo.it/u/Tredici)\
**Post date:** [23 Maggio 2017, 9:50pm UTC](https://forum.olinfo.it/t/problema-science-against-spam/4646/1 "2017-05-23T21:50:21Z")

</div>

Buonasera a tutti,  
sto cercando di risolvere il problema in questione:  
per farlo ho preso il template disponibile tra gli allegati e ho implementato la funzione da completare nel seguente modo:

```auto

#include <algorithm>
int detect(const vector<string>& bad, const vector<string>& good, const vector<string>& email, size_t N) {
    // insert your code here
    bool legitimate = false, spam = false;
    for(register size_t i{}; i<N; ++i)
    {
        if(!spam && binary_search(bad.cbegin(), bad.cend(), email[i]))
        {
            if(legitimate)
                return 0;
            spam = true;
        }
        else if(!legitimate && binary_search(good.cbegin(), good.cend(), email[i]))
        {
            if(spam)
                return 0;
            legitimate = true;
        }
    }
    if(spam)
        return -1;
    if(legitimate)
        return +1;
    return 0;
}

```

N.B.: nel main ho inserito, affinché binary\_search(…) funzioni, due chiamate a std::sort per ordinare i vector good e bad.  
Ciò che non capisco è come mai alcune volte la funzione non produca l’output corretto e come mai levando i controlli nei due if `!legitimate` e `!spam` il test 003 del subtask 3 fallisca.  
Qualcuno per caso riesce a individuare l’errore e a spiegarmelo per favore?

---

<div class="post-metadata">

**Author:** ![Tredici](https://forum.olinfo.it/user_avatar/forum.olinfo.it/tredici/32/2637_2.png) [@Tredici](https://forum.olinfo.it/u/Tredici)\
**Post date:** [24 Maggio 2017, 5:46am UTC](https://forum.olinfo.it/t/problema-science-against-spam/4646/2 "2017-05-24T05:46:54Z")

</div>

Problema risolto in maniera definitiva eliminando la keyword else.
