提出 #75294900


ソースコード 拡げる

#pragma GCC optimize("O3")
#include <bits/stdc++.h>

// clang-format off
using namespace std;
using ll = long long int;

#define all(v) (v).begin(),(v).end()
#define repeat(cnt,l) for(typename remove_const<typename remove_reference<decltype(l)>::type>::type cnt={};(cnt)<(l);++(cnt))
#define rrepeat(cnt,l) for(auto cnt=(l)-1;0<=(cnt);--(cnt))
#define iterate(cnt,b,e) for(auto cnt=(b);(cnt)!=(e);++(cnt))
#define upto(cnt,b,e,step) for(auto cnt=(b);(cnt)<=(e);(cnt)+=(step))
#define downto(cnt,b,e,step) for(auto cnt=(b);(e)<=(cnt);(cnt)-=(step))
const long long MD = 998244353; const long double PI = 3.1415926535897932384626433832795L;
template<typename T1, typename T2> inline ostream& operator <<(ostream &o, const pair<T1, T2> p) { o << '(' << p.first << ':' << p.second << ')'; return o; }
template<typename T> inline T& chmax(T& to, const T& val) { return to = max(to, val); }
template<typename T> inline T& chmin(T& to, const T& val) { return to = min(to, val); }
void bye(string s, int code = 0) { cout << s << endl; exit(code); }
mt19937_64 randdev(8901016);
template<typename T, typename Random = decltype(randdev), typename enable_if<is_integral<T>::value>::type* = nullptr>
inline T rand(T l, T h, Random& rand = randdev) { return uniform_int_distribution<T>(l, h)(rand); }
template<typename T, typename Random = decltype(randdev), typename enable_if<is_floating_point<T>::value>::type* = nullptr>
inline T rand(T l, T h, Random& rand = randdev) { return uniform_real_distribution<T>(l, h)(rand); }template<typename T>
static ostream& operator<<(ostream& o, const std::vector<T>& v) {
  o << "[ "; for(const auto& e : v) o<<e<<' '; return o << ']';
}

template <typename I> struct MyRangeFormat{ I b,e; MyRangeFormat(I _b, I _e):b(_b),e(_e){} };
template<typename I> static ostream& operator<<(ostream& o, const MyRangeFormat<I>& f) {
  o << "[ "; iterate(i,f.b,f.e) o<<*i<<' '; return o << ']';
}
template <typename I> struct MyMatrixFormat{
  const I& p; long long n, m;
  MyMatrixFormat(const I& _p, long long _n, long long _m):p(_p),n(_n),m(_m){}
};
template<typename I> static ostream& operator<<(ostream& o, const MyMatrixFormat<I>& f) {
  o<<'\n'; repeat(i,(f.n)) { repeat(j,f.m) o<<f.p[i][j]<<' '; o<<'\n'; }
  return o;
}
struct LOG_t { ~LOG_t() { clog << endl; } };
#define LOG (LOG_t(),clog<<'L'<<__LINE__<<": ")
#define FMTA(m,w) (MyRangeFormat<decltype(m+0)>(m,m+w))
#define FMTR(b,e) (MyRangeFormat<decltype(e)>(b,e))
#define FMTV(v) FMTR(v.begin(),v.end())
#define FMTM(m,h,w) (MyMatrixFormat<decltype(m+0)>(m,h,w))

#if defined(_WIN32) || defined(_WIN64)
#define getc_x _getc_nolock
#define putc_x _putc_nolock
#elif defined(__GNUC__)
#define getc_x getc_unlocked
#define putc_x putc_unlocked
#else
#define getc_x getc
#define putc_x putc
#endif
class MaiScanner {
  FILE* fp_;
  constexpr bool isvisiblechar(char c) noexcept { return (0x21<=(c)&&(c)<=0x7E); }
public:
  inline MaiScanner(FILE* fp):fp_(fp){}
  template<typename T> void input_integer(T& var) noexcept {
    var = 0; T sign = 1;
    int cc = getc_x(fp_);
    for (; cc < '0' || '9' < cc; cc = getc_x(fp_))
      if (cc == '-') sign = -1;
    for (; '0' <= cc && cc <= '9'; cc = getc_x(fp_))
      var = (var << 3) + (var << 1) + cc - '0';
    var = var * sign;
  }
  inline int c() noexcept { return getc_x(fp_); }
  template<typename T, typename enable_if<is_integral<T>::value, nullptr_t>::type = nullptr>
  inline MaiScanner& operator>>(T& var) noexcept { input_integer<T>(var); return *this; }
  inline MaiScanner& operator>>(string& var) {
    int cc = getc_x(fp_);
    for (; !isvisiblechar(cc); cc = getc_x(fp_));
    for (; isvisiblechar(cc); cc = getc_x(fp_))
      var.push_back(cc);
    return *this;
  }
  template<typename IT> inline void in(IT begin, IT end) { for (auto it = begin; it != end; ++it) *this >> *it; }
};
class MaiPrinter {
  FILE* fp_;
public:
  inline MaiPrinter(FILE* fp):fp_(fp){}
  template<typename T>
  void output_integer(T var) noexcept {
    if (var == 0) { putc_x('0', fp_); return; }
    if (var < 0)
      putc_x('-', fp_),
      var = -var;
    char stack[32]; int stack_p = 0;
    while (var)
      stack[stack_p++] = '0' + (var % 10),
      var /= 10;
    while (stack_p)
      putc_x(stack[--stack_p], fp_);
  }
  inline MaiPrinter& operator<<(char c) noexcept { putc_x(c, fp_); return *this; }
  template<typename T, typename enable_if<is_integral<T>::value, nullptr_t>::type = nullptr>
  inline MaiPrinter& operator<<(T var) noexcept { output_integer<T>(var); return *this; }
  inline MaiPrinter& operator<<(const char* str_p) noexcept { while (*str_p) putc_x(*(str_p++), fp_); return *this; }
  inline MaiPrinter& operator<<(const string& str) {
    const char* p = str.c_str();
    const char* l = p + str.size();
    while (p < l) putc_x(*p++, fp_);
    return *this;
  }
  template<typename IT> void join(IT begin, IT end, char sep = ' ') { for (bool b = 0; begin != end; ++begin, b = 1) b ? *this << sep << *begin : *this << *begin; }
};
MaiScanner scanner(stdin);
MaiPrinter printer(stdout);
// clang-format on

template <typename C = std::chrono::milliseconds> class Timer {
  std::chrono::system_clock::time_point tp_;

public:
  static inline auto now() { return std::chrono::system_clock::now(); }
  inline void tic() { tp_ = now(); }
  inline auto toc() const {
    return std::chrono::duration_cast<C>(now() - tp_).count();
  }
  inline Timer() : tp_(now()) {}
};
inline std::ostream &operator<<(std::ostream &o, const Timer<> &t) {
  return o << (long long)t.toc();
}

struct P {
  using T = int;
  T y, x;

  constexpr inline explicit P(T _y, T _x) : y(_y), x(_x) {}
  constexpr inline P() : y(0), x(0) {}

  constexpr inline bool operator==(P p) const { return y == p.y && x == p.x; }
  constexpr inline bool operator!=(P p) const { return y != p.y || x != p.x; }
  constexpr inline bool operator<(P p) const { return y == p.y ? x < p.x : y < p.y; }
  constexpr inline P operator+(P p) const { return P(y + p.y, x + p.x); }
  constexpr inline P operator-(P p) const { return P(y - p.y, x - p.x); }
  inline P &operator+=(P p) {
    y += p.y;
    x += p.x;
    return *this;
  }
  inline P &operator-=(P p) {
    y -= p.y;
    x -= p.x;
    return *this;
  }
  inline P &operator*=(T m) {
    y *= m;
    x *= m;
    return *this;
  }
  inline T distM(P p) const { return abs(y - p.y) + abs(x - p.x); }
  inline T distC(P p) const { return max(abs(y - p.y), abs(x - p.x)); }
  template <typename ITR> ITR nearestM(ITR begin, ITR end) const {
    if (begin == end)
      return end;
    T best = distM(*begin);
    ITR besti = begin;
    for (ITR it = begin; ++it, it != end;) {
      T m = distM(*it);
      if (best < m) {
        best = m;
        besti = it;
      }
    }
    return besti;
  }
};
inline ostream &operator<<(ostream &os, P p) {
  os << '(' << p.y << ',' << p.x << ')';
  return os;
}

enum DIR4 { UP = 0, RIGHT = 1, DOWN = 2, LEFT = 3 };
enum DIR5 { UP5 = 0, RIGHT5 = 1, DOWN5 = 2, LEFT5 = 3, CENTER5 = 4 };
enum DIR8 { UP8 = 0, RIGHT8 = 1, DOWN8 = 2, LEFT8 = 3, UPLEFT8 = 4, UPRIGHT8 = 5, DOWNLEFT8 = 6, DOWNRIGHT8 = 7 };

const P kDir4[] = {P(-1, 0), P(0, 1), P(1, 0), P(0, -1)};
const P kDir5[] = {P(-1, 0), P(0, 1), P(1, 0), P(0, -1), P(0, 0)};
const P kDir8[] = {P(-1, 0),  P(0, 1),  P(1, 0),  P(0, -1),
                    P(-1, -1), P(-1, 1), P(1, -1), P(1, 1)};

inline P operator*(P::T m, P p) noexcept { return P(m * p.y, m * p.x); }

template <typename T>
// using T = int;
struct F {
  int height, width;
  vector<T> data;

  explicit F(int h, int w) : height(h), width(w), data(h * w) {}
  F() : F(1, 1) {}

  inline bool safe(int y, int x) const {
    return 0 <= y && y < height && 0 <= x && x < width;
  }
  inline bool safe(P p) const {
    return 0 <= p.y && p.y < height && 0 <= p.x && p.x < width;
  }

#if 1
  void assert_safe(int y, int x) const {
    if (!safe(y, x)) {
      clog << "assertion failed: field=" << height << "x" << width
           << ": try=" << y << "," << x << endl;
      assert(safe(y, x));
    }
  }
  inline T &operator()(int y, int x) {
    assert_safe(y, x);
    return data[x + y * width];
  }
  inline T &operator()(P p) {
    assert_safe(p.y, p. x);
    return data[p.x + p.y * width];
  }
  inline T operator()(int y, int x) const {
    assert_safe(y, x);
    return data[x + y * width];
  }
  inline T operator()(P p) const {
    assert_safe(p.y, p.x);
    return data[p.x + p.y * width];
  }
#else
  inline T &operator()(int y, int x) { return data[x + y * width]; }
  inline T &operator()(P p) { return data[p.x + p.y * width]; }
  inline T operator()(int y, int x) const { return data[x + y * width]; }
  inline T operator()(P p) const { return data[p.x + p.y * width]; }
#endif
  inline T getA(int i) const { return data[i]; }
  inline T &getAmut(int i) { return data[i]; }

  inline void fill(T e) { std::fill(data.begin(), data.end(), e); }
  inline void resize(int h, int w) {
    height = h;
    width = w;
    data.resize(h * w);
  }

  void print(ostream &os, int setw_arg = 4) {
    for (int y = 0; y < height; ++y) {
      for (int x = 0; x < width; ++x)
        os << setw(setw_arg) << operator()(y, x) << ' ';
      os << '\n';
    }
  }
};


class CommandLine {
  map<string, string> params;

  void initializeInternal(int argc, char **argv) {
    for (int i = 1; i < argc; ++i) {
      if (argv[i][0] == '-') { // TODO: `=` 区切りにしたい
        if (i + 1 < argc) {
          params.emplace(argv[i], argv[i + 1]);
          i += 1;
        }
      }
    }
  }

  CommandLine() = default;

public:
  static CommandLine &get() {
    static CommandLine g;
    return g;
  }
  static void initialize(int argc, char **argv) {
    get().initializeInternal(argc, argv);
  }
  const string &str(const string &key) {
    static const string empty_str;
    auto it = params.find(key);
    if (it == params.end()) {
      return empty_str;
    }
    return it->second;
  }
  long long number(const string &key, long long default_value = 0) {
    auto it = params.find(key);
    if (it == params.end()) {
      return default_value;
    }
    return atoi(it->second.c_str());
  }
};
//

namespace appenv {
// 起動引数
int g_k_parameter = 4;
} // namespace appenv

// ----------------------------------------------------------------------------

// レールの数
constexpr int R = 10;

// オンラインクエリなら不要
// オフラインクエリなら実装する
struct PInput {
  // init_pattern[r][i] = r番線のi番目の車両の番号
  array<vector<int>, R> init_pattern;
};

struct Command {
  // 0: 出発線 dep_id の末尾から連続する count 両を待避線 hold_id の先頭へ
  // 1: 待避線 hold_id の先頭から連続する count 両を出発線 dep_id の末尾へ
  int type;
  int dep_id;   // i: 出発線番号
  int hold_id;  // j: 待避線番号
  int count;    // k: 移動両数
};

struct PAnswer {
  vector<vector<Command>> roundToCommands;
};

// ------------------------------------

class Judge {
public:
  // オフラインクエリなら実装をそのまま使う
  virtual const PInput& input() = 0;
  virtual void output(const PAnswer &ans) = 0;
  virtual int score() = 0;
};

//

class JudgeStdio : public Judge {
  bool loaded_ = false;
  PInput pi_;
  int score_ = 0;

public:
  const PInput& input() override{
    if (loaded_)
      return pi_;
    loaded_ = true;
    int r;
    scanner >> r;
    // assert(r == R);
    repeat(i, R) {
      constexpr int n = 10;
      pi_.init_pattern[i].resize(n);
      scanner.in(all(pi_.init_pattern[i]));
    }
    return pi_;
  }

  void output(const PAnswer &ans) override{
    printer << ans.roundToCommands.size() << '\n';
    for (const auto &commands : ans.roundToCommands) {
      printer << commands.size() << '\n';
      for (const auto &cmd : commands) {
        printer << cmd.type << ' ' << cmd.dep_id << ' ' << cmd.hold_id << ' ' << cmd.count << '\n';
      }
    }
  }

  int score() override {
    return score_;
  }

  static int calcScore(const PInput& input, const PAnswer& answer) {
    // スコア計算のロジックをここに実装
    return 0;
  }
};

// ----------------------------------------------------------------------------

class Emulator {
public:
  array<deque<int>, R> dep_;   // 出発線: front=先頭, back=末尾(操作端)
  array<deque<int>, R> hold_;  // 待避線: front=先頭(操作端), back=末尾

  void init(const PInput& input) {
    for (int r = 0; r < R; r++) {
      dep_[r].clear();
      hold_[r].clear();
      for (int v : input.init_pattern[r]) {
        dep_[r].push_back(v);
      }
    }
  }

  void apply_turn(const vector<Command>& cmds) {
    for (const auto& cmd : cmds) {
      auto& d = dep_[cmd.dep_id];
      auto& h = hold_[cmd.hold_id];
      int k = cmd.count;
      if (cmd.type == 0) {
        // dep tail → hold front (k 両)
        int start = (int)d.size() - k;
        for (int i = k - 1; i >= 0; i--) {
          h.push_front(d[start + i]);
        }
        for (int i = 0; i < k; i++) d.pop_back();
      } else {
        // hold front → dep tail (k 両)
        for (int i = 0; i < k; i++) {
          d.push_back(h.front());
          h.pop_front();
        }
      }
    }
  }

  // 車両 v の待避線上の位置を返す: {hold_id, depth}
  pair<int,int> find_vehicle(int v) const {
    for (int r = 0; r < R; r++) {
      for (int i = 0; i < (int)hold_[r].size(); i++) {
        if (hold_[r][i] == v) return {r, i};
      }
    }
    return {-1, -1};
  }

  bool is_solved() const {
    for (int r = 0; r < R; r++) {
      if ((int)dep_[r].size() != 10) return false;
      for (int p = 0; p < 10; p++) {
        if (dep_[r][p] != 10 * r + p) return false;
      }
    }
    return true;
  }
};

// ----------------------------------------------------------------------------

// オフラインクエリ用(使うのはPInput)
class Solver {
  const PInput& input_;
  Emulator emu_;

  Solver(const PInput& input) : input_(input) {
    emu_.init(input);
  }

  // Phase 1: 全出発線を対応待避線へ退避 (1 ターン)
  void phase1(vector<vector<Command>>& turns) {
    vector<Command> cmds;
    for (int r = 0; r < R; r++) {
      cmds.push_back({0, r, r, 10});
    }
    turns.push_back(cmds);
    emu_.apply_turn(cmds);
  }

  // スクラッチ出発線の選択: r=0..8 なら dep[9]、r=9 なら dep[0]/dep[1]
  // d 両が収まるスクラッチを使ってターンを積む
  //   r < 9: 1 ターン (dep[9] に d 両)
  //   r = 9, d <= 5: 1 ターン (dep[0] に d 両)
  //   r = 9, d > 5:  2 ターン (dep[0] に 5 両 + dep[1] に d-5 両)
  void move_to_scratch(int r, int j, int d, vector<vector<Command>>& turns) {
    if (r < 9) {
      turns.push_back({{1, 9, j, d}});
      emu_.apply_turn(turns.back());
    } else if (d <= 5) {
      turns.push_back({{1, 0, j, d}});
      emu_.apply_turn(turns.back());
    } else {
      turns.push_back({{1, 0, j, 5}});
      emu_.apply_turn(turns.back());
      turns.push_back({{1, 1, j, d - 5}});
      emu_.apply_turn(turns.back());
    }
  }

  // スクラッチから待避線 j へ d 両を復元
  void restore_from_scratch(int r, int j, int d, vector<vector<Command>>& turns) {
    if (r < 9) {
      for (int i = 0; i < d; i++) {
        turns.push_back({{0, 9, j, 1}});
        emu_.apply_turn(turns.back());
      }
    } else if (d <= 5) {
      for (int i = 0; i < d; i++) {
        turns.push_back({{0, 0, j, 1}});
        emu_.apply_turn(turns.back());
      }
    } else {
      // dep[1] 側 (d-5 両) を先に戻す
      for (int i = 0; i < d - 5; i++) {
        turns.push_back({{0, 1, j, 1}});
        emu_.apply_turn(turns.back());
      }
      // dep[0] 側 (5 両) を戻す
      for (int i = 0; i < 5; i++) {
        turns.push_back({{0, 0, j, 1}});
        emu_.apply_turn(turns.back());
      }
    }
  }

  // Phase 2: 出発線 r を v=10r+p の順に 1 両ずつ構築
  void phase2(vector<vector<Command>>& turns) {
    for (int r = 0; r < R; r++) {
      for (int p = 0; p < 10; p++) {
        int v = 10 * r + p;
        auto [j, d] = emu_.find_vehicle(v);

        // Step A: v 手前の d 両をスクラッチへ退避
        if (d > 0) {
          move_to_scratch(r, j, d, turns);
        }

        // Step B: v を出発線 r の末尾へ
        turns.push_back({{1, r, j, 1}});
        emu_.apply_turn(turns.back());

        // Step C: d 両をスクラッチから待避線 j へ復元
        if (d > 0) {
          restore_from_scratch(r, j, d, turns);
        }
      }
    }
  }

  PAnswer solve() {
    vector<vector<Command>> turns;
    phase1(turns);
    phase2(turns);
    return PAnswer{turns};
  }

public:
  static void solve(Judge& judge) {
    const PInput& input = judge.input();
    Solver solver(input);
    judge.output(solver.solve());
  }
};

//

void appMain() {
  JudgeStdio judge;

  Solver::solve(judge);

  clog << "score = " << judge.score() << endl;
}

//

#define LOAD_CONSTANT_FROM_ARGS(konst, arg)                                    \
  {                                                                            \
    const string &v = CommandLine::get().str(arg);                             \
    if (!v.empty())                                                            \
      konst = atoi(v.c_str());                                                 \
  }

int main(int argc, char **argv) {
  using namespace appenv;
  CommandLine::initialize(argc, argv);
  LOAD_CONSTANT_FROM_ARGS(g_k_parameter,
                          "--a-parater");
  appMain();
  return 0;
}

提出情報

提出日時
問題 A - Non-Crossing Railcar Rearrangement
ユーザ m_buyoh
言語 C++23 (GCC 15.2.0)
得点 690639
コード長 18147 Byte
結果 AC
実行時間 1 ms
メモリ 3800 KiB

コンパイルエラー

./Main.cpp: In static member function 'static int JudgeStdio::calcScore(const PInput&, const PAnswer&)':
./Main.cpp:376:38: warning: unused parameter 'input' [-Wunused-parameter]
  376 |   static int calcScore(const PInput& input, const PAnswer& answer) {
      |                        ~~~~~~~~~~~~~~^~~~~
./Main.cpp:376:60: warning: unused parameter 'answer' [-Wunused-parameter]
  376 |   static int calcScore(const PInput& input, const PAnswer& answer) {
      |                                             ~~~~~~~~~~~~~~~^~~~~~

ジャッジ結果

セット名 test_ALL
得点 / 配点 690639 / 750000
結果
AC × 150
セット名 テストケース
test_ALL test_0000.txt, test_0001.txt, test_0002.txt, test_0003.txt, test_0004.txt, test_0005.txt, test_0006.txt, test_0007.txt, test_0008.txt, test_0009.txt, test_0010.txt, test_0011.txt, test_0012.txt, test_0013.txt, test_0014.txt, test_0015.txt, test_0016.txt, test_0017.txt, test_0018.txt, test_0019.txt, test_0020.txt, test_0021.txt, test_0022.txt, test_0023.txt, test_0024.txt, test_0025.txt, test_0026.txt, test_0027.txt, test_0028.txt, test_0029.txt, test_0030.txt, test_0031.txt, test_0032.txt, test_0033.txt, test_0034.txt, test_0035.txt, test_0036.txt, test_0037.txt, test_0038.txt, test_0039.txt, test_0040.txt, test_0041.txt, test_0042.txt, test_0043.txt, test_0044.txt, test_0045.txt, test_0046.txt, test_0047.txt, test_0048.txt, test_0049.txt, test_0050.txt, test_0051.txt, test_0052.txt, test_0053.txt, test_0054.txt, test_0055.txt, test_0056.txt, test_0057.txt, test_0058.txt, test_0059.txt, test_0060.txt, test_0061.txt, test_0062.txt, test_0063.txt, test_0064.txt, test_0065.txt, test_0066.txt, test_0067.txt, test_0068.txt, test_0069.txt, test_0070.txt, test_0071.txt, test_0072.txt, test_0073.txt, test_0074.txt, test_0075.txt, test_0076.txt, test_0077.txt, test_0078.txt, test_0079.txt, test_0080.txt, test_0081.txt, test_0082.txt, test_0083.txt, test_0084.txt, test_0085.txt, test_0086.txt, test_0087.txt, test_0088.txt, test_0089.txt, test_0090.txt, test_0091.txt, test_0092.txt, test_0093.txt, test_0094.txt, test_0095.txt, test_0096.txt, test_0097.txt, test_0098.txt, test_0099.txt, test_0100.txt, test_0101.txt, test_0102.txt, test_0103.txt, test_0104.txt, test_0105.txt, test_0106.txt, test_0107.txt, test_0108.txt, test_0109.txt, test_0110.txt, test_0111.txt, test_0112.txt, test_0113.txt, test_0114.txt, test_0115.txt, test_0116.txt, test_0117.txt, test_0118.txt, test_0119.txt, test_0120.txt, test_0121.txt, test_0122.txt, test_0123.txt, test_0124.txt, test_0125.txt, test_0126.txt, test_0127.txt, test_0128.txt, test_0129.txt, test_0130.txt, test_0131.txt, test_0132.txt, test_0133.txt, test_0134.txt, test_0135.txt, test_0136.txt, test_0137.txt, test_0138.txt, test_0139.txt, test_0140.txt, test_0141.txt, test_0142.txt, test_0143.txt, test_0144.txt, test_0145.txt, test_0146.txt, test_0147.txt, test_0148.txt, test_0149.txt
ケース名 結果 実行時間 メモリ
test_0000.txt AC 1 ms 3752 KiB
test_0001.txt AC 1 ms 3576 KiB
test_0002.txt AC 1 ms 3648 KiB
test_0003.txt AC 1 ms 3648 KiB
test_0004.txt AC 1 ms 3736 KiB
test_0005.txt AC 1 ms 3580 KiB
test_0006.txt AC 1 ms 3736 KiB
test_0007.txt AC 1 ms 3580 KiB
test_0008.txt AC 1 ms 3760 KiB
test_0009.txt AC 1 ms 3736 KiB
test_0010.txt AC 1 ms 3796 KiB
test_0011.txt AC 1 ms 3576 KiB
test_0012.txt AC 1 ms 3548 KiB
test_0013.txt AC 1 ms 3636 KiB
test_0014.txt AC 1 ms 3764 KiB
test_0015.txt AC 1 ms 3700 KiB
test_0016.txt AC 1 ms 3796 KiB
test_0017.txt AC 1 ms 3584 KiB
test_0018.txt AC 1 ms 3796 KiB
test_0019.txt AC 1 ms 3760 KiB
test_0020.txt AC 1 ms 3740 KiB
test_0021.txt AC 1 ms 3728 KiB
test_0022.txt AC 1 ms 3648 KiB
test_0023.txt AC 1 ms 3668 KiB
test_0024.txt AC 1 ms 3636 KiB
test_0025.txt AC 1 ms 3576 KiB
test_0026.txt AC 1 ms 3536 KiB
test_0027.txt AC 1 ms 3696 KiB
test_0028.txt AC 1 ms 3752 KiB
test_0029.txt AC 1 ms 3648 KiB
test_0030.txt AC 1 ms 3668 KiB
test_0031.txt AC 1 ms 3712 KiB
test_0032.txt AC 1 ms 3648 KiB
test_0033.txt AC 1 ms 3668 KiB
test_0034.txt AC 1 ms 3728 KiB
test_0035.txt AC 1 ms 3764 KiB
test_0036.txt AC 1 ms 3576 KiB
test_0037.txt AC 1 ms 3584 KiB
test_0038.txt AC 1 ms 3648 KiB
test_0039.txt AC 1 ms 3696 KiB
test_0040.txt AC 1 ms 3760 KiB
test_0041.txt AC 1 ms 3796 KiB
test_0042.txt AC 1 ms 3708 KiB
test_0043.txt AC 1 ms 3648 KiB
test_0044.txt AC 1 ms 3736 KiB
test_0045.txt AC 1 ms 3668 KiB
test_0046.txt AC 1 ms 3716 KiB
test_0047.txt AC 1 ms 3636 KiB
test_0048.txt AC 1 ms 3580 KiB
test_0049.txt AC 1 ms 3764 KiB
test_0050.txt AC 1 ms 3728 KiB
test_0051.txt AC 1 ms 3752 KiB
test_0052.txt AC 1 ms 3696 KiB
test_0053.txt AC 1 ms 3764 KiB
test_0054.txt AC 1 ms 3764 KiB
test_0055.txt AC 1 ms 3576 KiB
test_0056.txt AC 1 ms 3752 KiB
test_0057.txt AC 1 ms 3648 KiB
test_0058.txt AC 1 ms 3752 KiB
test_0059.txt AC 1 ms 3800 KiB
test_0060.txt AC 1 ms 3580 KiB
test_0061.txt AC 1 ms 3760 KiB
test_0062.txt AC 1 ms 3736 KiB
test_0063.txt AC 1 ms 3728 KiB
test_0064.txt AC 1 ms 3580 KiB
test_0065.txt AC 1 ms 3764 KiB
test_0066.txt AC 1 ms 3740 KiB
test_0067.txt AC 1 ms 3580 KiB
test_0068.txt AC 1 ms 3740 KiB
test_0069.txt AC 1 ms 3648 KiB
test_0070.txt AC 1 ms 3668 KiB
test_0071.txt AC 1 ms 3796 KiB
test_0072.txt AC 1 ms 3584 KiB
test_0073.txt AC 1 ms 3696 KiB
test_0074.txt AC 1 ms 3616 KiB
test_0075.txt AC 1 ms 3764 KiB
test_0076.txt AC 1 ms 3796 KiB
test_0077.txt AC 1 ms 3796 KiB
test_0078.txt AC 1 ms 3760 KiB
test_0079.txt AC 1 ms 3764 KiB
test_0080.txt AC 1 ms 3796 KiB
test_0081.txt AC 1 ms 3728 KiB
test_0082.txt AC 1 ms 3796 KiB
test_0083.txt AC 1 ms 3764 KiB
test_0084.txt AC 1 ms 3576 KiB
test_0085.txt AC 1 ms 3636 KiB
test_0086.txt AC 1 ms 3740 KiB
test_0087.txt AC 1 ms 3796 KiB
test_0088.txt AC 1 ms 3696 KiB
test_0089.txt AC 1 ms 3696 KiB
test_0090.txt AC 1 ms 3648 KiB
test_0091.txt AC 1 ms 3764 KiB
test_0092.txt AC 1 ms 3740 KiB
test_0093.txt AC 1 ms 3708 KiB
test_0094.txt AC 1 ms 3696 KiB
test_0095.txt AC 1 ms 3736 KiB
test_0096.txt AC 1 ms 3728 KiB
test_0097.txt AC 1 ms 3712 KiB
test_0098.txt AC 1 ms 3668 KiB
test_0099.txt AC 1 ms 3740 KiB
test_0100.txt AC 1 ms 3752 KiB
test_0101.txt AC 1 ms 3728 KiB
test_0102.txt AC 1 ms 3668 KiB
test_0103.txt AC 1 ms 3576 KiB
test_0104.txt AC 1 ms 3580 KiB
test_0105.txt AC 1 ms 3728 KiB
test_0106.txt AC 1 ms 3736 KiB
test_0107.txt AC 1 ms 3636 KiB
test_0108.txt AC 1 ms 3580 KiB
test_0109.txt AC 1 ms 3648 KiB
test_0110.txt AC 1 ms 3648 KiB
test_0111.txt AC 1 ms 3728 KiB
test_0112.txt AC 1 ms 3728 KiB
test_0113.txt AC 1 ms 3760 KiB
test_0114.txt AC 1 ms 3736 KiB
test_0115.txt AC 1 ms 3728 KiB
test_0116.txt AC 1 ms 3760 KiB
test_0117.txt AC 1 ms 3584 KiB
test_0118.txt AC 1 ms 3736 KiB
test_0119.txt AC 1 ms 3764 KiB
test_0120.txt AC 1 ms 3760 KiB
test_0121.txt AC 1 ms 3736 KiB
test_0122.txt AC 1 ms 3760 KiB
test_0123.txt AC 1 ms 3728 KiB
test_0124.txt AC 1 ms 3736 KiB
test_0125.txt AC 1 ms 3648 KiB
test_0126.txt AC 1 ms 3764 KiB
test_0127.txt AC 1 ms 3728 KiB
test_0128.txt AC 1 ms 3764 KiB
test_0129.txt AC 1 ms 3728 KiB
test_0130.txt AC 1 ms 3764 KiB
test_0131.txt AC 1 ms 3764 KiB
test_0132.txt AC 1 ms 3736 KiB
test_0133.txt AC 1 ms 3796 KiB
test_0134.txt AC 1 ms 3752 KiB
test_0135.txt AC 1 ms 3648 KiB
test_0136.txt AC 1 ms 3584 KiB
test_0137.txt AC 1 ms 3580 KiB
test_0138.txt AC 1 ms 3760 KiB
test_0139.txt AC 1 ms 3736 KiB
test_0140.txt AC 1 ms 3696 KiB
test_0141.txt AC 1 ms 3736 KiB
test_0142.txt AC 1 ms 3764 KiB
test_0143.txt AC 1 ms 3740 KiB
test_0144.txt AC 1 ms 3688 KiB
test_0145.txt AC 1 ms 3728 KiB
test_0146.txt AC 1 ms 3728 KiB
test_0147.txt AC 1 ms 3752 KiB
test_0148.txt AC 1 ms 3728 KiB
test_0149.txt AC 1 ms 3648 KiB