¿Por qué obtengo un TLE en el problema SPOJ: BUSYMAN – Estoy muy ocupado?

si quieres un código con una matriz de pares … Además, si quieres puedes guardar la hora de finalización primero, entonces no tendrás que escribir la función adicional para ordenar …

Código CPP: –

#include

#define ll long long int

#define sf (n) scanf (“% lld”, & (n))

#define pf (n) printf (“% lld \ n”, (n))

#define test long long t; scanf (“% lld”, & (t)); while (t–)

usando el espacio de nombres estándar;

bool fn (par constante y a, par constante yb)

{

devuelve a.second <b.second;

}

int main ()

{

par p [100005];

ll i, j, n;

prueba

{

sf (n);

ll x = 0;

para (i = 0; i <n; i ++)

{

sf (p [i] .primero);

sf (p [i] .segundo);

}

ordenar (p, p + n, fn);

i = -1;

para (j = 0; j <n; j ++)

{

if (p [j] .first> = i)

{

i = p [j]. segundo;

x ++;

}

}

pf (x);

}

}

Bueno, no sé por qué estás recibiendo un TLE. Cuando envié su código, me dio un error de tiempo de ejecución, tal vez porque hay algo mal con la matriz de pares, intente hacerlo con el vector de pares. He utilizado el mismo concepto que usted pero mi código fue aceptado, la única diferencia fue que utilicé el vector de pares. Una razón para TLE o falla de segmentación puede ser que su matriz de pares no es global y está creando una nueva matriz de pares para cada caso de prueba, incluso si crea una matriz global de pares, creo que es difícil BORRE la matriz después de cada caso de prueba, lo cual es bastante fácil usando vectores.
mi código
https://ideone.com/MIjqtd