Submission #800760

#TimeUsernameProblemLanguageResultExecution timeMemory
800760BERNARB01Rail (IOI14_rail)C++17
0 / 100
44 ms468 KiB
#include <bits/stdc++.h>
#include "rail.h"

using namespace std;

#ifdef B01
#include "../deb.h"
#else
#define deb(...)
#endif

void findLocation(int n, int p, int location[], int stype[]) {
  vector<int> que(1, 0);
  location[0] = p;
  stype[0] = 1;
  for (int b = 0; b < (int) que.size(); b++) {
    int i = que[b];
    if (stype[i] == -1) {
      continue;
    }
    int mn = INT_MAX;
    int mni = -1;
    for (int j = 1; j < n; j++) {
      if (stype[i] != -1) {
        continue;
      }
      int D = getDistance(i, j);
      if (D < mn) {
        mn = D;
        mni = j;
      }
    }
    if (mni == -1) {
      continue;
    }
    que.push_back(mni);
    stype[mni] = 3 - stype[i];
    if (stype[mni] == 2) {
      location[mni] = location[i] - mn;
    } else {
      location[mni] = location[i] + mn;
    }
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...