# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
198171 | model_code | Swimming competition (LMIO18_plaukimo_varzybos) | C++14 | 1008 ms | 12452 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <algorithm>
#include <queue>
//#define INPUT_FILE
#ifdef INPUT_FILE
#include <fstream>
#endif
const long MAX_N = 1000000;
long n, a, b;
long swtime[MAX_N];
// Funkcija patikrina, ar galima sudėlioti dalyvius taip, kad
// maksimalus skirtumas tarp lėčiausio ir greičiausio būtų
// d_test ar mažesnis.
bool assign_groups(long d_test) {
std::queue<long> groups;
groups.push(-1);
long i = a - 1;
// Iš eilės einame nuo greičiausio iki lėčiausio ir bandome grupuoti.
// Tinkamas rastas grupes saugoje eilėje "groups".
// Algoritmo sudėtingumas - O(N)
while (i < n && !groups.empty()) {
if (i - groups.front() >= a) {
if (i - groups.front() <= b && (swtime[i] - swtime[groups.front() + 1]) <= d_test) {
// Grupė (nuo i iki groups.front()) yra leidžiamo ilgio bei
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |