#include "Azer.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
typedef pair<int,int>P;
const int INF=0x3f3f3f3f;
namespace {
int N;
vector<P>E[3000];
bool used[3000];
int d[3000];
int Min,id;
int Max;
void Send(int n,int x){
for(int i=n-1;i>=0;i--){
SendA(x>>i&1);
}
}
struct Receiver{
int n,cur,x;
bool flag;
void Init(int N){
n=N;
cur=n-1;
x=0;
flag=true;
}
bool Read(int b){
x|=(b<<cur);
if(cur==0){
flag=false;
return true;
}
cur--;
return false;
}
}Rcost,Rid;
void Update(int v,int cost){
used[v]=true;
d[v]=cost;
Max=cost;
for(auto p:E[v]){
d[p.second]=min(d[p.second],cost+p.first);
}
Min=INF;id=-1;
rep(i,N){
if(!used[i]&&Min>d[i]){
Min=d[i];
id=i;
}
}
if(Min!=INF){
int d=Min-Max;
if(Min==(1<<20)-1)d=(1<<9)-1;
Send(9,d);
Rcost.Init(9);
}
}
}
void InitA(int N,int A,vector<int>U,vector<int>V,vector<int>C){
::N=N;
rep(i,A){
E[U[i]].push_back(P(C[i],V[i]));
E[V[i]].push_back(P(C[i],U[i]));
}
rep(i,N)d[i]=(1<<20)-1;
Update(0,0);
}
void ReceiveA(bool x){
if(Rcost.flag){
if(!Rcost.Read(x))return;
if(Rcost.x+Max<Min){
Rid.Init(11);
}
else{
Send(11,id);
Update(id,Min);
}
}
else if(Rid.flag){
if(!Rid.Read(x))return;
Update(Rid.x,Rcost.x+Max);
}
}
vector<int>Answer(){
vector<int>ans(N);
rep(i,N){
ans[i]=d[i];
}
return ans;
}
#include "Baijan.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
typedef pair<int,int>P;
const int INF=0x3f3f3f3f;
namespace {
int N;
vector<P>E[3000];
bool used[3000];
int d[3000];
int Min,id;
int Max;
void Send(int n,int x){
for(int i=n-1;i>=0;i--){
SendB(x>>i&1);
}
}
struct Receiver{
int n,cur,x;
bool flag;
void Init(int N){
n=N;
cur=n-1;
x=0;
flag=true;
}
bool Read(int b){
x|=(b<<cur);
if(cur==0){
flag=false;
return true;
}
cur--;
return false;
}
}Rcost,Rid;
void Update(int v,int cost){
used[v]=true;
d[v]=cost;
Max=cost;
for(auto p:E[v]){
d[p.second]=min(d[p.second],cost+p.first);
}
Min=INF;id=-1;
rep(i,N){
if(!used[i]&&Min>d[i]){
Min=d[i];
id=i;
}
}
if(Min!=INF){
int d=Min-Max;
if(Min==(1<<20)-1)d=(1<<9)-1;
Send(9,d);
Rcost.Init(9);
}
}
}
void InitB(int N,int B,vector<int>S,vector<int>T,vector<int> D) {
::N=N;
rep(i,B){
E[S[i]].push_back(P(D[i],T[i]));
E[T[i]].push_back(P(D[i],S[i]));
}
rep(i,N)d[i]=(1<<20)-1;
Update(0,0);
}
void ReceiveB(bool x){
if(Rcost.flag){
if(!Rcost.Read(x))return;
if(Rcost.x+Max<=Min){
Rid.Init(11);
}
else{
Send(11,id);
Update(id,Min);
}
}
else if(Rid.flag){
if(!Rid.Read(x))return;
Update(Rid.x,Rcost.x+Max);
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1084 ms |
2272 KB |
Output is correct |
2 |
Correct |
19 ms |
1504 KB |
Output is correct |
3 |
Correct |
1058 ms |
2016 KB |
Output is correct |
4 |
Correct |
1164 ms |
20264 KB |
Output is correct |
5 |
Correct |
78 ms |
2272 KB |
Output is correct |
6 |
Correct |
1102 ms |
5184 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
18 ms |
1512 KB |
Output is correct |
2 |
Correct |
856 ms |
1864 KB |
Output is correct |
3 |
Correct |
882 ms |
2088 KB |
Output is correct |
4 |
Correct |
1504 ms |
55272 KB |
Output is correct |
5 |
Correct |
1442 ms |
48352 KB |
Output is correct |
6 |
Correct |
234 ms |
1504 KB |
Output is correct |
7 |
Correct |
1537 ms |
48432 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1085 ms |
1760 KB |
Output is correct |
2 |
Correct |
12 ms |
1504 KB |
Output is correct |
3 |
Correct |
1188 ms |
1760 KB |
Output is correct |
4 |
Correct |
985 ms |
1760 KB |
Output is correct |
5 |
Correct |
998 ms |
1728 KB |
Output is correct |
6 |
Correct |
1164 ms |
1504 KB |
Output is correct |
7 |
Correct |
1182 ms |
1760 KB |
Output is correct |
8 |
Correct |
1120 ms |
2016 KB |
Output is correct |
9 |
Correct |
1297 ms |
1504 KB |
Output is correct |
10 |
Correct |
1214 ms |
1760 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
545 ms |
1504 KB |
Output is correct |
2 |
Correct |
532 ms |
1888 KB |
Output is correct |
3 |
Correct |
830 ms |
23800 KB |
Output is correct |
4 |
Correct |
596 ms |
1504 KB |
Output is correct |
5 |
Correct |
698 ms |
17712 KB |
Output is correct |
6 |
Correct |
490 ms |
1504 KB |
Output is correct |
7 |
Correct |
558 ms |
1504 KB |
Output is correct |
8 |
Correct |
574 ms |
1504 KB |
Output is correct |
9 |
Correct |
870 ms |
36064 KB |
Output is correct |
10 |
Correct |
898 ms |
36072 KB |
Output is correct |
11 |
Correct |
1088 ms |
61624 KB |
Output is correct |
12 |
Correct |
974 ms |
53848 KB |
Output is correct |
13 |
Correct |
666 ms |
1760 KB |
Output is correct |
14 |
Correct |
16 ms |
1504 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
545 ms |
1504 KB |
Output is correct |
2 |
Correct |
532 ms |
1888 KB |
Output is correct |
3 |
Correct |
830 ms |
23800 KB |
Output is correct |
4 |
Correct |
596 ms |
1504 KB |
Output is correct |
5 |
Correct |
698 ms |
17712 KB |
Output is correct |
6 |
Correct |
490 ms |
1504 KB |
Output is correct |
7 |
Correct |
558 ms |
1504 KB |
Output is correct |
8 |
Correct |
574 ms |
1504 KB |
Output is correct |
9 |
Correct |
870 ms |
36064 KB |
Output is correct |
10 |
Correct |
898 ms |
36072 KB |
Output is correct |
11 |
Correct |
1088 ms |
61624 KB |
Output is correct |
12 |
Correct |
974 ms |
53848 KB |
Output is correct |
13 |
Correct |
666 ms |
1760 KB |
Output is correct |
14 |
Correct |
16 ms |
1504 KB |
Output is correct |
15 |
Correct |
906 ms |
1768 KB |
Output is correct |
16 |
Correct |
604 ms |
1504 KB |
Output is correct |
17 |
Correct |
634 ms |
1512 KB |
Output is correct |
18 |
Correct |
810 ms |
17712 KB |
Output is correct |
19 |
Correct |
712 ms |
1512 KB |
Output is correct |
20 |
Correct |
836 ms |
18328 KB |
Output is correct |
21 |
Correct |
438 ms |
1760 KB |
Output is correct |
22 |
Correct |
554 ms |
1784 KB |
Output is correct |
23 |
Correct |
1006 ms |
44312 KB |
Output is correct |
24 |
Correct |
954 ms |
43912 KB |
Output is correct |
25 |
Correct |
1440 ms |
75352 KB |
Output is correct |
26 |
Correct |
1246 ms |
64744 KB |
Output is correct |
27 |
Correct |
610 ms |
2016 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
545 ms |
1504 KB |
Output is correct |
2 |
Correct |
532 ms |
1888 KB |
Output is correct |
3 |
Correct |
830 ms |
23800 KB |
Output is correct |
4 |
Correct |
596 ms |
1504 KB |
Output is correct |
5 |
Correct |
698 ms |
17712 KB |
Output is correct |
6 |
Correct |
490 ms |
1504 KB |
Output is correct |
7 |
Correct |
558 ms |
1504 KB |
Output is correct |
8 |
Correct |
574 ms |
1504 KB |
Output is correct |
9 |
Correct |
870 ms |
36064 KB |
Output is correct |
10 |
Correct |
898 ms |
36072 KB |
Output is correct |
11 |
Correct |
1088 ms |
61624 KB |
Output is correct |
12 |
Correct |
974 ms |
53848 KB |
Output is correct |
13 |
Correct |
666 ms |
1760 KB |
Output is correct |
14 |
Correct |
16 ms |
1504 KB |
Output is correct |
15 |
Correct |
906 ms |
1768 KB |
Output is correct |
16 |
Correct |
604 ms |
1504 KB |
Output is correct |
17 |
Correct |
634 ms |
1512 KB |
Output is correct |
18 |
Correct |
810 ms |
17712 KB |
Output is correct |
19 |
Correct |
712 ms |
1512 KB |
Output is correct |
20 |
Correct |
836 ms |
18328 KB |
Output is correct |
21 |
Correct |
438 ms |
1760 KB |
Output is correct |
22 |
Correct |
554 ms |
1784 KB |
Output is correct |
23 |
Correct |
1006 ms |
44312 KB |
Output is correct |
24 |
Correct |
954 ms |
43912 KB |
Output is correct |
25 |
Correct |
1440 ms |
75352 KB |
Output is correct |
26 |
Correct |
1246 ms |
64744 KB |
Output is correct |
27 |
Correct |
610 ms |
2016 KB |
Output is correct |
28 |
Correct |
790 ms |
1760 KB |
Output is correct |
29 |
Correct |
792 ms |
1760 KB |
Output is correct |
30 |
Correct |
1178 ms |
42280 KB |
Output is correct |
31 |
Correct |
730 ms |
1760 KB |
Output is correct |
32 |
Correct |
1078 ms |
37560 KB |
Output is correct |
33 |
Correct |
824 ms |
1504 KB |
Output is correct |
34 |
Correct |
790 ms |
2016 KB |
Output is correct |
35 |
Correct |
778 ms |
2016 KB |
Output is correct |
36 |
Correct |
1292 ms |
49376 KB |
Output is correct |
37 |
Correct |
1166 ms |
49632 KB |
Output is correct |
38 |
Correct |
1568 ms |
85808 KB |
Output is correct |
39 |
Correct |
1486 ms |
78624 KB |
Output is correct |
40 |
Correct |
874 ms |
2016 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1084 ms |
2272 KB |
Output is correct |
2 |
Correct |
19 ms |
1504 KB |
Output is correct |
3 |
Correct |
1058 ms |
2016 KB |
Output is correct |
4 |
Correct |
1164 ms |
20264 KB |
Output is correct |
5 |
Correct |
78 ms |
2272 KB |
Output is correct |
6 |
Correct |
1102 ms |
5184 KB |
Output is correct |
7 |
Correct |
18 ms |
1512 KB |
Output is correct |
8 |
Correct |
856 ms |
1864 KB |
Output is correct |
9 |
Correct |
882 ms |
2088 KB |
Output is correct |
10 |
Correct |
1504 ms |
55272 KB |
Output is correct |
11 |
Correct |
1442 ms |
48352 KB |
Output is correct |
12 |
Correct |
234 ms |
1504 KB |
Output is correct |
13 |
Correct |
1537 ms |
48432 KB |
Output is correct |
14 |
Correct |
1085 ms |
1760 KB |
Output is correct |
15 |
Correct |
12 ms |
1504 KB |
Output is correct |
16 |
Correct |
1188 ms |
1760 KB |
Output is correct |
17 |
Correct |
985 ms |
1760 KB |
Output is correct |
18 |
Correct |
998 ms |
1728 KB |
Output is correct |
19 |
Correct |
1164 ms |
1504 KB |
Output is correct |
20 |
Correct |
1182 ms |
1760 KB |
Output is correct |
21 |
Correct |
1120 ms |
2016 KB |
Output is correct |
22 |
Correct |
1297 ms |
1504 KB |
Output is correct |
23 |
Correct |
1214 ms |
1760 KB |
Output is correct |
24 |
Correct |
545 ms |
1504 KB |
Output is correct |
25 |
Correct |
532 ms |
1888 KB |
Output is correct |
26 |
Correct |
830 ms |
23800 KB |
Output is correct |
27 |
Correct |
596 ms |
1504 KB |
Output is correct |
28 |
Correct |
698 ms |
17712 KB |
Output is correct |
29 |
Correct |
490 ms |
1504 KB |
Output is correct |
30 |
Correct |
558 ms |
1504 KB |
Output is correct |
31 |
Correct |
574 ms |
1504 KB |
Output is correct |
32 |
Correct |
870 ms |
36064 KB |
Output is correct |
33 |
Correct |
898 ms |
36072 KB |
Output is correct |
34 |
Correct |
1088 ms |
61624 KB |
Output is correct |
35 |
Correct |
974 ms |
53848 KB |
Output is correct |
36 |
Correct |
666 ms |
1760 KB |
Output is correct |
37 |
Correct |
16 ms |
1504 KB |
Output is correct |
38 |
Correct |
906 ms |
1768 KB |
Output is correct |
39 |
Correct |
604 ms |
1504 KB |
Output is correct |
40 |
Correct |
634 ms |
1512 KB |
Output is correct |
41 |
Correct |
810 ms |
17712 KB |
Output is correct |
42 |
Correct |
712 ms |
1512 KB |
Output is correct |
43 |
Correct |
836 ms |
18328 KB |
Output is correct |
44 |
Correct |
438 ms |
1760 KB |
Output is correct |
45 |
Correct |
554 ms |
1784 KB |
Output is correct |
46 |
Correct |
1006 ms |
44312 KB |
Output is correct |
47 |
Correct |
954 ms |
43912 KB |
Output is correct |
48 |
Correct |
1440 ms |
75352 KB |
Output is correct |
49 |
Correct |
1246 ms |
64744 KB |
Output is correct |
50 |
Correct |
610 ms |
2016 KB |
Output is correct |
51 |
Correct |
790 ms |
1760 KB |
Output is correct |
52 |
Correct |
792 ms |
1760 KB |
Output is correct |
53 |
Correct |
1178 ms |
42280 KB |
Output is correct |
54 |
Correct |
730 ms |
1760 KB |
Output is correct |
55 |
Correct |
1078 ms |
37560 KB |
Output is correct |
56 |
Correct |
824 ms |
1504 KB |
Output is correct |
57 |
Correct |
790 ms |
2016 KB |
Output is correct |
58 |
Correct |
778 ms |
2016 KB |
Output is correct |
59 |
Correct |
1292 ms |
49376 KB |
Output is correct |
60 |
Correct |
1166 ms |
49632 KB |
Output is correct |
61 |
Correct |
1568 ms |
85808 KB |
Output is correct |
62 |
Correct |
1486 ms |
78624 KB |
Output is correct |
63 |
Correct |
874 ms |
2016 KB |
Output is correct |
64 |
Correct |
1346 ms |
2272 KB |
Output is correct |
65 |
Correct |
1628 ms |
47072 KB |
Output is correct |
66 |
Correct |
1578 ms |
41136 KB |
Output is correct |
67 |
Correct |
1376 ms |
2016 KB |
Output is correct |
68 |
Correct |
1182 ms |
2416 KB |
Output is correct |
69 |
Correct |
2086 ms |
83696 KB |
Output is correct |
70 |
Correct |
1850 ms |
68584 KB |
Output is correct |
71 |
Correct |
1276 ms |
9408 KB |
Output is correct |
72 |
Correct |
1108 ms |
2528 KB |
Output is correct |