Swimming Pool 0/100

Mi sembra che sia corretto almeno gli esempi sono giusti, ma non so cosa mi sono dimenticato di considerare, perchè gli altri testcase non sono corretti.

#include
#include
using namespace std;

int main(){
//ios_base::sync_with_stdio(false);
//cin.tie(NULL);

ifstream in("input.txt");
ofstream out("output.txt");


int n, dl=100000;

in>>n;

int arr[n];

for(int i=0; i<n; ++i){
    in>>arr[i];
}


for(int i=0; i<n; ++i){
    dl=min(dl, max(arr[n-1]-arr[i], arr[i]-arr[0]));
}
out<<dl<<endl;

return 0;

}

Ciao, il problema dovrebbe stare nel fatto che dl non è un valore abbastanza elevato. Se tu guardi bene i limiti del problema, puoi vedere che P[i] va fino a 1M. Ti consiglio di controllare sempre i limiti, in quanto potresti incorrere in molti altri problemi algoritmicamente corretti, proprio come questo, e magari basta solamente cambiare il tipo di dato che si gestisce (es. da un int a un long long).
La soluzione sarebbe utilizzare per dl un valore più alto o, altrimenti, come dovresti fare di solito, includere l’header climits e inizializzare dl a INT_MAX.
Spero di essere stato d’aiuto.