Submission #1326476

#TimeUsernameProblemLanguageResultExecution timeMemory
1326476SSKMFGap (APIO16_gap)C++20
100 / 100
41 ms1204 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; long long findGap (int tip , int cantitate) { if (tip == 1) { long long *inceput = new long long , *sfarsit = new long long; MinMax(0 , 1e18 , inceput , sfarsit); long long maxim = 0; for (int stanga = 2 , dreapta = cantitate - 1 ; stanga <= dreapta ; stanga++ , dreapta--) { long long *__inceput = new long long , *__sfarsit = new long long; MinMax(*inceput + 1 , *sfarsit - 1 , __inceput , __sfarsit); maxim = max({maxim , *__inceput - *inceput , *sfarsit - *__sfarsit}); *inceput = *__inceput; *sfarsit = *__sfarsit; delete __inceput; delete __sfarsit; } if (cantitate % 2 == 0) { maxim = max(maxim , *sfarsit - *inceput); } return maxim; } long long *inceput = new long long , *sfarsit = new long long; MinMax(0 , 1e18 , inceput , sfarsit); const long long lungime_bloc = (*sfarsit - *inceput - 1) / (cantitate - 1) + 1; long long maxim = lungime_bloc; for (long long capat = *inceput , anterior = -1 ; capat <= *sfarsit ; capat += lungime_bloc + 1) { long long *__inceput = new long long , *__sfarsit = new long long; MinMax(capat , min(*sfarsit , capat + lungime_bloc) , __inceput , __sfarsit); if (anterior != -1 && *__inceput != -1) { maxim = max(maxim , *__inceput - anterior); } if (*__sfarsit != -1) { anterior = *__sfarsit; } delete __inceput; delete __sfarsit; } return maxim; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...