# Aiuto Execution Timed out

**URL:** <https://forum.olinfo.it/t/aiuto-execution-timed-out/7791>\
**Category:** Aiuto\
**Created:** [31 Ottobre 2022, 5:50pm UTC](https://forum.olinfo.it/t/aiuto-execution-timed-out/7791 "2022-10-31T17:50:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mickybold89](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/278dde/32.png) [@Mickybold89](https://forum.olinfo.it/u/Mickybold89)\
**Post date:** [31 Ottobre 2022, 5:50pm UTC](https://forum.olinfo.it/t/aiuto-execution-timed-out/7791/1 "2022-10-31T17:50:11Z")

</div>

salve, scusate se rompo le scatole ancora, ma del resto il forum in parte serve anche a questo… il codice che ho fatto mi risulta corretto, solo che non so come massimizzarlo per ottenere il punteggio completo.  
L’esercizio è Scavi Fortunati  
Qui sotto allego il mio codice e ringrazio in anticipo

```auto
#include <iostream>
#include <vector>
#include<bits/stdc++.h>
using namespace std;
 int i,j;
int k=0;

///Ridimensiona la matrice terreno
void ridimensiona(int R, int C, vector<vector<int>> terreno) {
	terreno[i].resize(R,0);
	for (int i=0; i<R; i++) {
		terreno[i].resize(C,0);
	}
}
void scavi(int R, int C, int Q, vector<int> &x1, vector<int> &y1,vector<int> &x2, vector<int> &y2, vector<int> &p, vector<vector<int> > &terreno){
    ridimensiona(R,C,terreno);
    ///eseguo le operazioni che sono in tutto k=q-1
    while(k<Q){
        ///segno la profondita del terreno dalla posizione x1,y1 a x2,y2
        for(i=x1[k];i<=x2[k] && i<R;i++){
           for(j=y1[k];j<=y2[k] && j<C;j++){
              terreno[i][j]+=p[k];
          }
        }
     k++;
    
    }
    
}

```

---

<div class="post-metadata">

**Author:** ![BestCrazyNoob](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/b/7cd45c/32.png) [@BestCrazyNoob](https://forum.olinfo.it/u/BestCrazyNoob)\
**Post date:** [3 Novembre 2022, 5:48pm UTC](https://forum.olinfo.it/t/aiuto-execution-timed-out/7791/2 "2022-11-03T17:48:22Z")

</div>

La tua soluzione è teoricamente giusta, ma ha una complessità troppo elevata.

Tutti i problemi della rubrica TAI hanno una pagina dedicata sul forum con una spiegazione della soluzione. Qui trovi l’editorial di questo problema:

> [@Think About It: Scavi Fortunati](https://forum.olinfo.it/t/think-about-it-scavi-fortunati/5875/4):
>
> Editorial Con l’arrivo del quarto episodio della rubrica: [permutazioni](https://forum.olinfo.it/t/think-about-it-perm/5900) apro le discussioni relative a scavi presentandone una soluzione. L’esercizio scavi richiede sostanzialmente di applicare Q update, ognuno dei quali consiste nell’incrementare di X le celle comprese in un certo rettangolo, per poi restituire la matrice aggiornata. Nel caso in cui volessimo, iterare su ogni update dal primo all’ultimo ed aggiornare la matrice update per update, possiamo farlo in diversi modi: partendo dalla …
