Ciao a tutti!
Oggi ho provato per la prima volta a mandare la mia soluzione per uno dei problemi di allenamento. Ho scelto il problema “gasoline stations”. Ho provato a compilare e a eseguire il codice sui due esempi ed il risultato è corretto. Eppure quando guardo il punteggio assegnato il risultato è 0/100, e questo mi sembra un po’ strano visto che almeno il Subtask 1 (gli esempi) dovrebbe essere portato a termine.
Sospetto ci sia un problema con l’stdout, magari la formattazione. Ho provato sia con newline dopo il risultato, sia senza. Di seguito il codice completo:
#include<iostream>
#include<deque>
#include<utility>
int main() {
int n;
std::deque<int> prices;
std::deque<int> distances;
std::ios::sync_with_stdio(false);
std::cin >> n;
for (int i = 0; i < n; i++)
{
int p;
std::cin >> p;
prices.push_back(p);
}
for (int i = 0; i < n; i++)
{
int d;
std::cin >> d;
distances.push_back(d);
}
int bestPrice = 1000;
int totalPrice;
for (int i = 0; i < n; i++)
{
// Update bestStation if we found a better station
if (bestPrice > prices[i]) {
bestPrice = prices[i];
}
// Buy gasoline and add computed price to totalPrice.
totalPrice += distances[i] * bestPrice;
}
std::cout << totalPrice /* ho provato anche con << std::endl */ ;
// std::printf("%lld\n", totalPrice);
// Questo invece è il comando usato nel template disponibile sul portale degli allenamenti
}
Scusate per la formattazione disgustosa. E se avete anche proposte per migliorare il codice (come un container più adatto da utilizzare) sono ben accette