Submission #110216

#TimeUsernameProblemLanguageResultExecution timeMemory
110216ArturgoBoxes with souvenirs (IOI15_boxes)C++14
100 / 100
1035 ms294116 KiB
#include "boxes.h" #include <vector> #include <iostream> #include <algorithm> using namespace std; long long delivery(int nbEquipes, int maxPorte, int nbSections, int positions[]) { vector<long long> tempsAvant(nbEquipes, 0), tempsApres(nbEquipes, 0); sort(positions, positions + nbEquipes); for(int iEquipe = 0;iEquipe < nbEquipes;iEquipe++) { long long allerRetour = min<long long>(nbSections, 2ll * positions[iEquipe]); long long ajout = 0; if(iEquipe >= maxPorte) ajout = tempsAvant[iEquipe - maxPorte]; tempsAvant[iEquipe] = ajout + allerRetour; } for(int iEquipe = nbEquipes - 1;iEquipe >= 0;iEquipe--) { long long allerRetour = min<long long>(nbSections, 2ll * (nbSections - positions[iEquipe])); long long ajout = 0; if(iEquipe + maxPorte < nbEquipes) ajout = tempsApres[iEquipe + maxPorte]; tempsApres[iEquipe] = ajout + allerRetour; } long long minTemps = min(tempsAvant[nbEquipes - 1], tempsApres[0]); for(int iEquipe = 0;iEquipe < nbEquipes - 1;iEquipe++) { minTemps = min(minTemps, tempsAvant[iEquipe] + tempsApres[iEquipe + 1]); } return minTemps; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...