#include "Azer.h"
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
namespace {
ll N, A;
vector<ll> dis, chk;
vector<ll> U, V, C;
ll cnt = 0;
ll c, v;
ll pmv;
ll pmn;
ll pv;
ll res;
ll mode = 0;
ll mv;
ll val;
void send(ll, ll);
void func();
void send(ll x, ll a) {
ll i;
for (i = a - 1; i >= 0; i--) SendA(x & (1 << i));
}
void func() {
ll i;
ll mn = 1010101010;
mv = -1;
ll asdfsdf = 0;
for (i = 0; i < N; i++) {
if (chk[i] == 0) asdfsdf = 1;
}
if (!asdfsdf) return;
for (i = 0; i < A; i++) {
if (chk[U[i]] ^ chk[V[i]]) {
if (chk[U[i]]) {
if (mn > dis[U[i]] + C[i] - pv) mn = dis[U[i]] + C[i] - pv, mv = V[i];
}
else {
if (mn > dis[V[i]] + C[i] - pv) mn = dis[V[i]] + C[i] - pv, mv = U[i];
}
}
}
val = min(511, mn);
send(val, 9);
}
} // namespace
void ReceiveA(bool x) {
res *= 2;
if (x) res++;
cnt++;
if (mode == 0) {
if (cnt == 9) {
cnt = 0;
if (val <= res) {
send(mv, 11);
dis[mv] = val + pv;
pv = dis[mv];
chk[mv] = 1;
res = 0;
func();
}
else mode = 1, val = res, res = 0;
}
}
else {
if (cnt == 11) {
dis[res] = val + pv;
pv = dis[res];
chk[res] = 1;
cnt = 0;
mode = 0;
res = 0;
func();
}
}
}
std::vector<int> Answer() {
return dis;
}
void InitA(int _N, int _A, vector<ll> _U, vector<ll> _V, vector<ll> _C) {
tie(N, A, U, V, C) = make_tuple(_N, _A, _U, _V, _C);
dis.resize(N);
chk.resize(N);
ll i;
for (i = 1; i < N; i++) dis[i] = 1010101010;
chk[0] = 1;
mode = 0;
res = 0;
func();
}
#include "Baijan.h"
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
namespace {
ll N, B;
ll cnt = 0;
vector<ll> S, T, D;
ll res = 0;
ll pv = 0;
ll mode;
vector<ll> chk;
vector<ll> dis;
ll val;
ll mv;
void send(ll x, ll a) {
ll i;
for (i = a - 1; i >= 0; i--) SendB(x & (1 << i));
}
void func() {
ll i;
ll mn = 511;
mv = -1;
for (i = 0; i < B; i++) {
if (chk[S[i]] ^ chk[T[i]]) {
if (chk[S[i]]) {
if (mn > dis[S[i]] + D[i] - pv) mn = dis[S[i]] + D[i] - pv, mv = T[i];
}
else {
if (mn > dis[T[i]] + D[i] - pv) mn = dis[T[i]] + D[i] - pv, mv = S[i];
}
}
}
val = min(511, mn);
}
} // namespace
void InitB(int _N, int _B, vector<int> _S, vector<int> _T, vector<int> _D) {
tie(N, B, S, T, D) = make_tuple(_N, _B, _S, _T, _D);
ll i;
dis.resize(N);
chk.resize(N);
for (i = 1; i < N; i++) dis[i] = 1010101010;
chk[0] = 1;
mode = 0;
res = 0;
}
void ReceiveB(bool y) {
res *= 2;
if (y) res++;
cnt++;
if (!mode) {
if (cnt == 9) {
func();
send(val, 9);
cnt = 0;
if (val < res) {
send(mv, 11);
dis[mv] = pv + val;
pv = dis[mv];
chk[mv] = 1;
res = 0;
}
else mode = 1, val = res, res = 0;
}
}
else {
if (cnt == 11) {
cnt = 0;
dis[res] = val + pv;
pv = dis[res];
chk[res] = 1;
mode = 0;
res = 0;
}
}
}
Compilation message
Azer.cpp:13:5: warning: '{anonymous}::pmn' defined but not used [-Wunused-variable]
13 | ll pmn;
| ^~~
Azer.cpp:12:5: warning: '{anonymous}::pmv' defined but not used [-Wunused-variable]
12 | ll pmv;
| ^~~
Azer.cpp:11:8: warning: '{anonymous}::v' defined but not used [-Wunused-variable]
11 | ll c, v;
| ^
Azer.cpp:11:5: warning: '{anonymous}::c' defined but not used [-Wunused-variable]
11 | ll c, v;
| ^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
683 ms |
640 KB |
Output is correct |
2 |
Correct |
2 ms |
384 KB |
Output is correct |
3 |
Correct |
672 ms |
656 KB |
Output is correct |
4 |
Correct |
1449 ms |
8076 KB |
Output is correct |
5 |
Correct |
34 ms |
640 KB |
Output is correct |
6 |
Correct |
1091 ms |
1620 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
655 ms |
640 KB |
Output is correct |
3 |
Correct |
598 ms |
688 KB |
Output is correct |
4 |
Execution timed out |
3000 ms |
18048 KB |
|
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
593 ms |
640 KB |
Output is correct |
2 |
Correct |
1 ms |
384 KB |
Output is correct |
3 |
Correct |
604 ms |
644 KB |
Output is correct |
4 |
Correct |
622 ms |
644 KB |
Output is correct |
5 |
Correct |
456 ms |
756 KB |
Output is correct |
6 |
Correct |
651 ms |
640 KB |
Output is correct |
7 |
Correct |
442 ms |
524 KB |
Output is correct |
8 |
Correct |
738 ms |
644 KB |
Output is correct |
9 |
Correct |
522 ms |
628 KB |
Output is correct |
10 |
Correct |
560 ms |
640 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
231 ms |
384 KB |
Output is correct |
2 |
Correct |
306 ms |
592 KB |
Output is correct |
3 |
Correct |
965 ms |
8720 KB |
Output is correct |
4 |
Correct |
267 ms |
516 KB |
Output is correct |
5 |
Correct |
790 ms |
7916 KB |
Output is correct |
6 |
Correct |
221 ms |
480 KB |
Output is correct |
7 |
Correct |
232 ms |
640 KB |
Output is correct |
8 |
Correct |
217 ms |
640 KB |
Output is correct |
9 |
Execution timed out |
3000 ms |
14772 KB |
|
10 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
231 ms |
384 KB |
Output is correct |
2 |
Correct |
306 ms |
592 KB |
Output is correct |
3 |
Correct |
965 ms |
8720 KB |
Output is correct |
4 |
Correct |
267 ms |
516 KB |
Output is correct |
5 |
Correct |
790 ms |
7916 KB |
Output is correct |
6 |
Correct |
221 ms |
480 KB |
Output is correct |
7 |
Correct |
232 ms |
640 KB |
Output is correct |
8 |
Correct |
217 ms |
640 KB |
Output is correct |
9 |
Execution timed out |
3000 ms |
14772 KB |
|
10 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
231 ms |
384 KB |
Output is correct |
2 |
Correct |
306 ms |
592 KB |
Output is correct |
3 |
Correct |
965 ms |
8720 KB |
Output is correct |
4 |
Correct |
267 ms |
516 KB |
Output is correct |
5 |
Correct |
790 ms |
7916 KB |
Output is correct |
6 |
Correct |
221 ms |
480 KB |
Output is correct |
7 |
Correct |
232 ms |
640 KB |
Output is correct |
8 |
Correct |
217 ms |
640 KB |
Output is correct |
9 |
Execution timed out |
3000 ms |
14772 KB |
|
10 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
683 ms |
640 KB |
Output is correct |
2 |
Correct |
2 ms |
384 KB |
Output is correct |
3 |
Correct |
672 ms |
656 KB |
Output is correct |
4 |
Correct |
1449 ms |
8076 KB |
Output is correct |
5 |
Correct |
34 ms |
640 KB |
Output is correct |
6 |
Correct |
1091 ms |
1620 KB |
Output is correct |
7 |
Correct |
2 ms |
384 KB |
Output is correct |
8 |
Correct |
655 ms |
640 KB |
Output is correct |
9 |
Correct |
598 ms |
688 KB |
Output is correct |
10 |
Execution timed out |
3000 ms |
18048 KB |
|
11 |
Halted |
0 ms |
0 KB |
- |