Ciao a tutti!
Sto provando a risolvere autogrill usando un set.
Guardando anche gli scorsi thread sul problema sono abbastanza sicuro che la mia soluzione si avvicini a risolver il problema, ma c’è cmq qualcosa che mi sto saltando.
Qualche tip?
Ringrazio in anticipo.
long long chiedi(long long p) {
auto lowerIt = autogrills.lower_bound(p); // = o > di p
if (lowerIt == autogrills.end()) {
return -1;
}
if (*lowerIt == p) {
return *lowerIt;
}
if(lowerIt == autogrills.begin()){
return *lowerIt;
}
long long sx = *prev(lowerIt);
long long dx = *lowerIt;
long long distanceSx = p - sx;
long long distanceDx = dx - p;
if (distanceSx >= distanceDx) {
return dx;
}
return sx;
}