# Tesla Motors 30/100

**URL:** <https://forum.olinfo.it/t/tesla-motors-30-100/7508>\
**Category:** Aiuto\
**Created:** [24 Giugno 2022, 6:18am UTC](https://forum.olinfo.it/t/tesla-motors-30-100/7508 "2022-06-24T06:18:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SBUCCIERI](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/s/4bbf92/32.png) [@SBUCCIERI](https://forum.olinfo.it/u/SBUCCIERI)\
**Post date:** [24 Giugno 2022, 6:18am UTC](https://forum.olinfo.it/t/tesla-motors-30-100/7508/1 "2022-06-24T06:18:41Z")

</div>

```auto
#include <iostream>
#include <vector>
#include <algorithm>
#define KM 10
using namespace std;

int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    ios::sync_with_stdio(false);

    int N;
    cin >> N;

    vector<int>s(N);
    for(int i = 0; i != N; ++i) cin >> s[i];

    int copia[N];
    for(int i = 0; i != N; ++i) copia[i] = s[i];

    bool v = false;
    long int sum = 0;
    for(int j = 0; j < N; ++j)
    {
        for(int i = 0; i < N; ++i)
        {
            sum += s[i]- KM;
            v = true;

            if(sum < 0)
            {
                rotate(s.begin(), s.begin() + 1, s.end());
                sum = 0;
                v = false;
                break;
            }
        }

        if(sum == 0 && v == true)
            break;
    }

    long int res = 1;
    for(long int i = 0; i < N; i++)
    {
        if(copia[i] == *s.begin())
        {
            res += i;
            break;
        }
    }

    cout << res;
}

```

Non riesco a capire perché questo codice da meno di 30 / 100, qualcuno potrebbe darmi una mano?

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [24 Giugno 2022, 8:23am UTC](https://forum.olinfo.it/t/tesla-motors-30-100/7508/2 "2022-06-24T08:23:07Z")

</div>

Ho provato il tuo codice e semplificando va!:  
quando si verifica la condizione;

> [@SBUCCIERI](#):
>
> ```auto
> if(sum == 0 && v == true)
> break;
> 
> ```

giustamente esci, ma hai anche trovato l’indice della stazione dalla quale si fa il giro completo:  
sarebbe j ma siccome le stazione sono indicizzate da 1 a N basterà …  
Il ciclo finale quindi non serve.

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [24 Giugno 2022, 9:37am UTC](https://forum.olinfo.it/t/tesla-motors-30-100/7508/4 "2022-06-24T09:37:31Z")

</div>

Volevo solo dire che quando esci basta stampare j+1, il tuo codice con questa semplice modifica ha fatto 100/100.

---

<div class="post-metadata">

**Author:** ![SBUCCIERI](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/s/4bbf92/32.png) [@SBUCCIERI](https://forum.olinfo.it/u/SBUCCIERI)\
**Post date:** [24 Giugno 2022, 10:29am UTC](https://forum.olinfo.it/t/tesla-motors-30-100/7508/5 "2022-06-24T10:29:06Z")

</div>

Grazie mille
