提出 #63890122
ソースコード 拡げる
/**
* author: USERNAME
* create-mm-dd hh:mm:ss
**/
#include <bits/stdc++.h>
using namespace std;
// clang-format off
/* accelration */
// 高速バイナリ生成
// #pragma GCC optimize("O3")
// #pragma GCC optimize("unroll-loops")
// cin cout の結びつけ解除, stdioと同期しない(入出力非同期化)
// cとstdの入出力を混在させるとバグるので注意
struct Fast {Fast() {std::cin.tie(0); ios::sync_with_stdio(false);}} fast;
/* alias */
using ull = unsigned long long;
using ll = long long;
using vi = vector<int>;
using vd = vector<double>;
using vl = vector<long long>;
using vvi = vector<vi>;
using vvl = vector<vl>;
using vvvl = vector<vvl>;
using vvd = vector<vd>;
using vs = vector<string>;
using pii = pair<int, int>;
using in = int;
using qi = queue<int>;
using qvi = queue<vi>;
/* define short */
#define pb push_back
// #define mp make_pair
#define all(obj) (obj).begin(), (obj).end()
#define allr(obj) (obj).rbegin(), (obj).rend()
#define YESNO(bool) if(bool){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}
#define yesno(bool) if(bool){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}
#define YesNo(bool) if(bool){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
// #define INF INFINITY;
const ll INF = 1e16;
/* REP macro */
#define reps(i, a, n) for (ll i = (a); i < (ll)(n); ++i)
#define rep(i, n) reps(i, 0, n)
#define rrep(i, n) reps(i, 1, n + 1)
#define repd(i,n) for(ll i=n-1;i>=0;i--)
#define rrepd(i,n) for(ll i=n;i>=1;i--)
/* debug */
// 標準エラー出力を含む提出はrejectされる場合もあるので注意
// #define debug(x) cerr << "\033[33m(line:" << __LINE__ << ") " << #x << ": " << x << "\033[m" << endl;
/* func */
inline int in_int() {int x; cin >> x; return x;}
inline ll in_ll() {ll x; cin >> x; return x;}
inline string in_str() {string x; cin >> x; return x;}
inline auto time() {return chrono::system_clock::now();}
inline auto msec(auto time) {return chrono::duration_cast<chrono::milliseconds>(time).count(); }
inline int random_number(int min, int max) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(min, max);
return dis(gen);
}
inline int rand(int max) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0, max);
return dis(gen);
}
// search_length: 走査するベクトル長の上限(先頭から何要素目までを検索対象とするか、1始まりで)
template <typename T> inline bool vector_finder(std::vector<T> vec, T element, unsigned int search_length) {
auto itr = std::find(vec.begin(), vec.end(), element);
size_t index = std::distance( vec.begin(), itr );
if (index == vec.size() || index >= search_length) {return false;} else {return true;}
}
template <typename T> inline void print(const vector<T>& v, string s = " ")
{rep(i, v.size()) cout << v[i] << (i != (ll)v.size() - 1 ? s : "\n");}
template <typename T, typename S> inline void print(const pair<T, S>& p)
{cout << p.first << " " << p.second << endl;}
template <typename T> inline void print(const T& x) {cout << x << "\n";}
template <typename T, typename S> inline void print(const vector<pair<T, S>>& v)
{for (auto&& p : v) print(p);}
// 第一引数と第二引数を比較し、第一引数(a)をより大きい/小さい値に上書き
template <typename T> inline bool chmin(T& a, const T& b) {bool compare = a > b; if (a > b) a = b; return compare;}
template <typename T> inline bool chmax(T& a, const T& b) {bool compare = a < b; if (a < b) a = b; return compare;}
/********* T I M E R **********/
const int MAX = 50;
const int MOD = 1000000007;
struct Item {
int origin; // 出所:社員 j
int idx; // どちらのアイテムか(0: a_j用, 1: b_j用)
int weight; // 重み = T[j]
int assigned; // 割り当て先の社員 i
};
ll N, L;
// Timer (1.90秒以内で走らせるための簡易実装)
struct Timer {
double time_limit;
clock_t start;
Timer(double t) : time_limit(t) {
start = clock();
}
bool is_time_up() {
double elapsed = (double)(clock() - start) / CLOCKS_PER_SEC;
return elapsed >= time_limit;
}
double get_elapsed_ratio() {
double elapsed = (double)(clock() - start) / CLOCKS_PER_SEC;
return min(1.0, elapsed / time_limit);
}
};
// // calcScore:以前ご紹介した周期検出付きシミュレーションによるスコア計算関数
// #include <bitset>
// #include <unordered_map>
// #include <string>
// #include <cmath>
struct State {
int current;
bitset<100> parity; // 各社員の担当回数が奇数なら1、偶数なら0
bool operator==(const State &other) const {
return current == other.current && parity == other.parity;
}
};
struct StateHash {
size_t operator()(const State &s) const {
return hash<int>()(s.current) ^ (hash<string>()(s.parity.to_string()) << 1);
}
};
ll calcScore(int L, const vl& T, const vl& a, const vl& b, vi& count) {
int N = T.size();
// vector<int> count(N, 0);
count[0] = 1;
State state;
state.current = 0;
state.parity.reset();
state.parity.set(0, true);
unordered_map<State, pair<int, vector<int>>, StateHash> seen;
seen[state] = {1, count};
int step = 1;
while(step < L) {
int x = state.current;
int nxt = (state.parity.test(x)) ? a[x] : b[x];
state.parity.flip(x);
state.current = nxt;
count[nxt]++;
step++;
if(seen.find(state) != seen.end()){
auto [prevStep, prevCount] = seen[state];
int cycleLength = step - prevStep;
vector<int> delta(N);
for (int i = 0; i < N; i++){
delta[i] = count[i] - prevCount[i];
}
int remaining = L - step;
int cycles = remaining / cycleLength;
for (int i = 0; i < N; i++){
count[i] += delta[i] * cycles;
}
step += cycleLength * cycles;
break;
} else {
seen[state] = {step, count};
}
}
while(step < L){
int x = state.current;
int nxt = (state.parity.test(x)) ? a[x] : b[x];
state.parity.flip(x);
state.current = nxt;
count[nxt]++;
step++;
}
ll error = 0;
for (int i = 0; i < N; i++){
error += abs(count[i] - T[i]);
}
return error;
}
int main(){
int N, L;
cin >> N >> L;
// 入力:各社員の目標掃除回数 T[i]
vvl T_arr(N, vl(2));
vl t(N);
rep(i, N) {
cin >> T_arr[i][0];
t[i] = T_arr[i][0];
T_arr[i][1] = i; // 社員番号を保持
}
// ※「スコアの高い順」にソート(ここでは T_arr[i][0] が大きいほど良いと仮定)
sort(all(T_arr), [](const vl &a, const vl &b){
return a[0] > b[0]; // 降順ソート
});
// 初期解の作成:b はサイクル構造、a は基本的に各社員自身(ただし最後は例外)
vl a(N), b(N);
rep(i, N-1) {
b[T_arr[i][1]] = T_arr[i+1][1]; // 上位から下位へ
}
b[T_arr[N-1][1]] = T_arr[0][1]; // サイクルの閉じる部分
rep(i, N-1) {
a[T_arr[i][1]] = T_arr[i][1]; // 初期は自己ループ
}
a[T_arr[N-1][1]] = T_arr[0][1]; // 一部例外
// 初期スコア計算
vi best_count(N, 0);
ll current_score = calcScore(L, t,a, b, best_count);
ll best_score = current_score;
vl best_a = a;
vl best_b = b;
// 近いものの結合
int diff = 0; //差が50以下なら結合する
int connect = 0;
vl connected(N, 0);
rep(i,N) connected[i] = i;
rep(i, N-1){
if(abs(T_arr[i][0] - T_arr[i+1][0]) < diff){
a[T_arr[i][1]] = T_arr[i+1][1];
connect++;
connected[T_arr[i][1]] = 1;
}
}
Timer timer(1.80); // 1.90秒以内で探索
// 焼きなましパラメータ
double T0 = 1000.0;
double T_end = 1e-4;
int cnt = 0;
// a_bの組み合わせを変更する.
vector<bool> changed(N,false);
while (timer.get_elapsed_ratio() < 1.00) {
double ratio = timer.get_elapsed_ratio();
double temp = T0 * pow(T_end / T0, ratio);
// 局所操作:ランダムに T_arr 内のインデックス i (1 <= i < N) を選び、
// a[T_arr[i][1]] を T_arr 内のより上位 (j < i) の社員 T_arr[j][1] に変更
int i = 1 + rand() % (N - 1); // i = 1,...,N-1
int pos = T_arr[i][1];
// 1から10までをランダムに選ぶ
if(rand() % 10 < 11){
int loop_count = 0;
while(connected[i]!=0 && loop_count < 100){
i = 1 + rand() % (N - 1); // i = 1,...,N-1
loop_count++;
}
// 対象社員
int j = rand() % i;
loop_count = 0;
while(connected[j]!=0 && loop_count < 100){
j = rand() % i; //
loop_count++;
}
int new_val = T_arr[j][1];
// 変更前の値を保存
int old_val;
if (changed[pos]){
old_val = b[pos];
b[pos] = new_val;
} else {
old_val = a[pos];
a[pos] = new_val;
}
vi tmp_count(N, 0);
ll new_score = calcScore(L, t,a, b, tmp_count);
int delta = new_score - current_score;
// 改善するか、温度に応じた確率で受容. スコアが良いほど
if(delta < 0 || exp(-delta / temp) > ((double)rand() / RAND_MAX)) {
current_score = new_score;
if(new_score < best_score) {
best_score = new_score;
best_a = a;
best_b = b;
best_count = tmp_count;
// cnt++;
}
} else {
// 不採用の場合、元に戻す
// a[pos] = old_val;
if (changed[pos]){
b[pos] = old_val;
} else {
a[pos] = old_val;
}
}
} else {
// iのa , bを入れ替える
int old_a = a[pos];
int old_b = b[pos];
a[pos] = old_b;
b[pos] = old_a;
changed[pos] = !changed[pos];
vi tmp_count(N, 0);
ll new_score = calcScore(L, t,a, b, tmp_count);
int delta = new_score - current_score;
// 改善するか、温度に応じた確率で受容. スコアが良いほど
if(delta < 0 || exp(-delta / temp) > ((double)rand() / RAND_MAX)) {
current_score = new_score;
if(new_score < best_score) {
best_score = new_score;
best_a = a;
best_b = b;
best_count = tmp_count;
// cnt++;
}
} else {
// 不採用の場合、元に戻す
// a[pos] = old_val;
a[pos] = old_a;
b[pos] = old_b;
}
}
// cnt++;
}
while(!timer.is_time_up()){
double ratio = timer.get_elapsed_ratio();
double temp = T0 * pow(T_end / T0, ratio);
// a , bをランダムに入れ替える
int i = 1 + rand() % (N - 1); // i = 1,...,N-1
int pos = T_arr[i][1]; // 対象社員
int a_pos = a[pos];
int b_pos = b[pos];
a[pos] = b_pos;
b[pos] = a_pos;
vi tmp_count(N, 0);
ll new_score = calcScore(L, t,a, b, tmp_count);
int delta = new_score - current_score;
// 改善するか、温度に応じた確率で受容. スコアが良いほど
if(delta < 0 || exp(-delta / temp) > ((double)rand() / RAND_MAX)) {
current_score = new_score;
if(new_score < best_score) {
best_score = new_score;
best_a = a;
best_b = b;
best_count = tmp_count;
cnt++;
}
} else {
// 不採用の場合、元に戻す
a[pos] = a_pos;
b_pos = b_pos;
}
// cnt++;
}
// 最終スコアと解を出力
rep(i, N) {
cout << best_a[i] << " " << best_b[i] << endl;
}
// cout << 1e6 - best_score << endl;
// cout<<cnt<<endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - Cleaning Up |
| ユーザ | koshinM |
| 言語 | C++ 17 (gcc 12.2) |
| 得点 | 138680652 |
| コード長 | 13765 Byte |
| 結果 | AC |
| 実行時間 | 1892 ms |
| メモリ | 94644 KiB |
コンパイルエラー
Main.cpp:64:19: warning: use of ‘auto’ in parameter declaration only available with ‘-std=c++20’ or ‘-fconcepts’
64 | inline auto msec(auto time) {return chrono::duration_cast<chrono::milliseconds>(time).count(); }
| ^~~~
ジャッジ結果
| セット名 | test_ALL | ||
|---|---|---|---|
| 得点 / 配点 | 138680652 / 150000000 | ||
| 結果 |
|
| セット名 | テストケース |
|---|---|
| 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 | 1806 ms | 16528 KiB |
| test_0001.txt | AC | 1813 ms | 28744 KiB |
| test_0002.txt | AC | 1805 ms | 16212 KiB |
| test_0003.txt | AC | 1815 ms | 24052 KiB |
| test_0004.txt | AC | 1824 ms | 30256 KiB |
| test_0005.txt | AC | 1806 ms | 28732 KiB |
| test_0006.txt | AC | 1809 ms | 10488 KiB |
| test_0007.txt | AC | 1804 ms | 30244 KiB |
| test_0008.txt | AC | 1807 ms | 15712 KiB |
| test_0009.txt | AC | 1814 ms | 26424 KiB |
| test_0010.txt | AC | 1805 ms | 10512 KiB |
| test_0011.txt | AC | 1807 ms | 23956 KiB |
| test_0012.txt | AC | 1809 ms | 16096 KiB |
| test_0013.txt | AC | 1810 ms | 10400 KiB |
| test_0014.txt | AC | 1828 ms | 30120 KiB |
| test_0015.txt | AC | 1804 ms | 10448 KiB |
| test_0016.txt | AC | 1809 ms | 24140 KiB |
| test_0017.txt | AC | 1813 ms | 15712 KiB |
| test_0018.txt | AC | 1807 ms | 23788 KiB |
| test_0019.txt | AC | 1848 ms | 55640 KiB |
| test_0020.txt | AC | 1826 ms | 29852 KiB |
| test_0021.txt | AC | 1810 ms | 28760 KiB |
| test_0022.txt | AC | 1814 ms | 16116 KiB |
| test_0023.txt | AC | 1805 ms | 16060 KiB |
| test_0024.txt | AC | 1805 ms | 17044 KiB |
| test_0025.txt | AC | 1824 ms | 28792 KiB |
| test_0026.txt | AC | 1825 ms | 30052 KiB |
| test_0027.txt | AC | 1820 ms | 30000 KiB |
| test_0028.txt | AC | 1818 ms | 29976 KiB |
| test_0029.txt | AC | 1805 ms | 17244 KiB |
| test_0030.txt | AC | 1804 ms | 15692 KiB |
| test_0031.txt | AC | 1806 ms | 16740 KiB |
| test_0032.txt | AC | 1808 ms | 28628 KiB |
| test_0033.txt | AC | 1805 ms | 10296 KiB |
| test_0034.txt | AC | 1804 ms | 15708 KiB |
| test_0035.txt | AC | 1811 ms | 16956 KiB |
| test_0036.txt | AC | 1818 ms | 27760 KiB |
| test_0037.txt | AC | 1818 ms | 26540 KiB |
| test_0038.txt | AC | 1814 ms | 29796 KiB |
| test_0039.txt | AC | 1805 ms | 15784 KiB |
| test_0040.txt | AC | 1807 ms | 10360 KiB |
| test_0041.txt | AC | 1811 ms | 15804 KiB |
| test_0042.txt | AC | 1805 ms | 15908 KiB |
| test_0043.txt | AC | 1818 ms | 30260 KiB |
| test_0044.txt | AC | 1814 ms | 16668 KiB |
| test_0045.txt | AC | 1816 ms | 30340 KiB |
| test_0046.txt | AC | 1821 ms | 54844 KiB |
| test_0047.txt | AC | 1823 ms | 27612 KiB |
| test_0048.txt | AC | 1810 ms | 30036 KiB |
| test_0049.txt | AC | 1804 ms | 10836 KiB |
| test_0050.txt | AC | 1819 ms | 27736 KiB |
| test_0051.txt | AC | 1806 ms | 16300 KiB |
| test_0052.txt | AC | 1816 ms | 15732 KiB |
| test_0053.txt | AC | 1806 ms | 30180 KiB |
| test_0054.txt | AC | 1809 ms | 17668 KiB |
| test_0055.txt | AC | 1812 ms | 17196 KiB |
| test_0056.txt | AC | 1805 ms | 16112 KiB |
| test_0057.txt | AC | 1810 ms | 15688 KiB |
| test_0058.txt | AC | 1818 ms | 29864 KiB |
| test_0059.txt | AC | 1809 ms | 16548 KiB |
| test_0060.txt | AC | 1807 ms | 16756 KiB |
| test_0061.txt | AC | 1892 ms | 94644 KiB |
| test_0062.txt | AC | 1810 ms | 29936 KiB |
| test_0063.txt | AC | 1817 ms | 16836 KiB |
| test_0064.txt | AC | 1806 ms | 10380 KiB |
| test_0065.txt | AC | 1810 ms | 26728 KiB |
| test_0066.txt | AC | 1820 ms | 28864 KiB |
| test_0067.txt | AC | 1813 ms | 26408 KiB |
| test_0068.txt | AC | 1812 ms | 29796 KiB |
| test_0069.txt | AC | 1806 ms | 16140 KiB |
| test_0070.txt | AC | 1820 ms | 28724 KiB |
| test_0071.txt | AC | 1818 ms | 16952 KiB |
| test_0072.txt | AC | 1819 ms | 28756 KiB |
| test_0073.txt | AC | 1809 ms | 24072 KiB |
| test_0074.txt | AC | 1812 ms | 16724 KiB |
| test_0075.txt | AC | 1804 ms | 15700 KiB |
| test_0076.txt | AC | 1804 ms | 10436 KiB |
| test_0077.txt | AC | 1827 ms | 29936 KiB |
| test_0078.txt | AC | 1805 ms | 11048 KiB |
| test_0079.txt | AC | 1808 ms | 15808 KiB |
| test_0080.txt | AC | 1813 ms | 16844 KiB |
| test_0081.txt | AC | 1818 ms | 28920 KiB |
| test_0082.txt | AC | 1813 ms | 16772 KiB |
| test_0083.txt | AC | 1820 ms | 21764 KiB |
| test_0084.txt | AC | 1805 ms | 30200 KiB |
| test_0085.txt | AC | 1806 ms | 16652 KiB |
| test_0086.txt | AC | 1806 ms | 10280 KiB |
| test_0087.txt | AC | 1806 ms | 15592 KiB |
| test_0088.txt | AC | 1826 ms | 30240 KiB |
| test_0089.txt | AC | 1811 ms | 29844 KiB |
| test_0090.txt | AC | 1814 ms | 29272 KiB |
| test_0091.txt | AC | 1807 ms | 16668 KiB |
| test_0092.txt | AC | 1807 ms | 34384 KiB |
| test_0093.txt | AC | 1809 ms | 15616 KiB |
| test_0094.txt | AC | 1808 ms | 28748 KiB |
| test_0095.txt | AC | 1809 ms | 16900 KiB |
| test_0096.txt | AC | 1806 ms | 28748 KiB |
| test_0097.txt | AC | 1810 ms | 15788 KiB |
| test_0098.txt | AC | 1807 ms | 28840 KiB |
| test_0099.txt | AC | 1812 ms | 28768 KiB |
| test_0100.txt | AC | 1806 ms | 16888 KiB |
| test_0101.txt | AC | 1808 ms | 28740 KiB |
| test_0102.txt | AC | 1805 ms | 10528 KiB |
| test_0103.txt | AC | 1806 ms | 11580 KiB |
| test_0104.txt | AC | 1809 ms | 15800 KiB |
| test_0105.txt | AC | 1805 ms | 23964 KiB |
| test_0106.txt | AC | 1809 ms | 15616 KiB |
| test_0107.txt | AC | 1807 ms | 10464 KiB |
| test_0108.txt | AC | 1823 ms | 29840 KiB |
| test_0109.txt | AC | 1808 ms | 10520 KiB |
| test_0110.txt | AC | 1816 ms | 29896 KiB |
| test_0111.txt | AC | 1807 ms | 15616 KiB |
| test_0112.txt | AC | 1811 ms | 41100 KiB |
| test_0113.txt | AC | 1809 ms | 28624 KiB |
| test_0114.txt | AC | 1821 ms | 30016 KiB |
| test_0115.txt | AC | 1804 ms | 15708 KiB |
| test_0116.txt | AC | 1811 ms | 28384 KiB |
| test_0117.txt | AC | 1808 ms | 10200 KiB |
| test_0118.txt | AC | 1805 ms | 22564 KiB |
| test_0119.txt | AC | 1805 ms | 10184 KiB |
| test_0120.txt | AC | 1808 ms | 23992 KiB |
| test_0121.txt | AC | 1808 ms | 15716 KiB |
| test_0122.txt | AC | 1811 ms | 15592 KiB |
| test_0123.txt | AC | 1809 ms | 15700 KiB |
| test_0124.txt | AC | 1809 ms | 14028 KiB |
| test_0125.txt | AC | 1814 ms | 17256 KiB |
| test_0126.txt | AC | 1804 ms | 10284 KiB |
| test_0127.txt | AC | 1805 ms | 16580 KiB |
| test_0128.txt | AC | 1832 ms | 30032 KiB |
| test_0129.txt | AC | 1818 ms | 29892 KiB |
| test_0130.txt | AC | 1809 ms | 16892 KiB |
| test_0131.txt | AC | 1819 ms | 21848 KiB |
| test_0132.txt | AC | 1805 ms | 10308 KiB |
| test_0133.txt | AC | 1816 ms | 16864 KiB |
| test_0134.txt | AC | 1814 ms | 28828 KiB |
| test_0135.txt | AC | 1851 ms | 41076 KiB |
| test_0136.txt | AC | 1804 ms | 10320 KiB |
| test_0137.txt | AC | 1824 ms | 24068 KiB |
| test_0138.txt | AC | 1813 ms | 27616 KiB |
| test_0139.txt | AC | 1813 ms | 15868 KiB |
| test_0140.txt | AC | 1805 ms | 7152 KiB |
| test_0141.txt | AC | 1812 ms | 15708 KiB |
| test_0142.txt | AC | 1822 ms | 29764 KiB |
| test_0143.txt | AC | 1813 ms | 28716 KiB |
| test_0144.txt | AC | 1822 ms | 28736 KiB |
| test_0145.txt | AC | 1810 ms | 30280 KiB |
| test_0146.txt | AC | 1822 ms | 29640 KiB |
| test_0147.txt | AC | 1803 ms | 16724 KiB |
| test_0148.txt | AC | 1821 ms | 29852 KiB |
| test_0149.txt | AC | 1805 ms | 17532 KiB |