Ciao a tutti.
Da un paio di giorni sto cercando di risolvere il problema Cultural Events. A parere personale sembrerebbe un problema abbastanza semplice, e allo stesso anche la sua risoluzione. Nonostante ciò, sta di fatto che sto riscontrando time limit exceeded nelle task 2 e 4 nelle subtask 5-6-7, 18-19-20. Il codice mi sembra abbastanza lineare e privo di errori apparenti.
Qualcuno riuscirebbe a darmi un indizio sull’errore? Grazie
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int main() {
// uncomment the following lines if you want to read/write from files
// ifstream cin("input.txt");
// ofstream cout("output.txt");
int N1, N2;
cin >> N1 >> N2;
int P[N1], V[N2];
for(int i=0; i<N1; i++)
cin >> P[i];
for(int i=0; i<N2; i++)
cin >> V[i];
// insert your code here
int index=0, ans=0;
sort(P, P+N1);
sort(V, V+N2);
reverse(P, P+N1);
reverse(V, V+N2);
for (int i=0; i<N2; i++) {
int vo = V[i];
int min = *min_element(P+index, P+N1);
if (vo >= min) {
if (index != N1) {
for (int j=index; j<N1; j++) {
if (vo >= P[j]) {
index = j+1;
ans ++;
break;
}
}
}
} else {
break;
}
}
cout << ans << endl; // print the result
return 0;
}