#include "Azer.h"
#include <bits/stdc++.h>
using namespace std;
int cura,nodea;
vector<int> dista,da;
vector<pair<int,int> > va[2005];
set<pair<int,int> > sa;
void upda(int node)
{
sa.erase({dista[node],node});
dista[node]=cura;
for (auto p:va[node])
{
if (cura+p.second<dista[p.first])
{
sa.erase({dista[p.first],p.first});
dista[p.first]=cura+p.second;
sa.insert({dista[p.first],p.first});
}
}
if (sa.empty())
return;
nodea=sa.begin()->second;
for (int i=0;i<11;i++)
SendA(nodea&(1<<i));
for (int i=0;i<9;i++)
SendA(min(dista[nodea]-cura,511)&(1<<i));
}
void InitA(int n,int a,vector<int> u,vector<int> v,vector<int> c)
{
for (int i=0;i<a;i++)
{
va[u[i]].push_back({v[i],c[i]});
va[v[i]].push_back({u[i],c[i]});
}
for (int i=0;i<n;i++)
{
dista.push_back(1e9);
sa.insert({dista[i],i});
}
upda(0);
}
void ReceiveA(bool x)
{
da.push_back(x);
if (da.size()==20)
{
int node=0,add=0;
for (int i=0;i<11;i++)
node|=(da[i]<<i);
for (int i=0;i<9;i++)
add|=(da[i+11]<<i);
if (dista[nodea]<cura+add)
{
cura=dista[nodea];
upda(nodea);
}
else
{
cura+=add;
upda(node);
}
da.clear();
}
}
vector<int> Answer()
{
return dista;
}
#include "Baijan.h"
#include <bits/stdc++.h>
using namespace std;
int curb,nodeb;
vector<int> distb,db;
vector<pair<int,int> > vb[2005];
set<pair<int,int> > sb;
void updb(int node)
{
sb.erase({distb[node],node});
distb[node]=curb;
for (auto p:vb[node])
{
if (curb+p.second<distb[p.first])
{
sb.erase({distb[p.first],p.first});
distb[p.first]=curb+p.second;
sb.insert({distb[p.first],p.first});
}
}
if (sb.empty())
return;
nodeb=sb.begin()->second;
for (int i=0;i<11;i++)
SendB(nodeb&(1<<i));
for (int i=0;i<9;i++)
SendB(min(distb[nodeb]-curb,511)&(1<<i));
}
void InitB(int n,int b,vector<int> u,vector<int> v,vector<int> c)
{
for (int i=0;i<b;i++)
{
vb[u[i]].push_back({v[i],c[i]});
vb[v[i]].push_back({u[i],c[i]});
}
for (int i=0;i<n;i++)
{
distb.push_back(1e9);
sb.insert({distb[i],i});
}
updb(0);
}
void ReceiveB(bool x)
{
db.push_back(x);
if (db.size()==20)
{
int node=0,add=0;
for (int i=0;i<11;i++)
node|=(db[i]<<i);
for (int i=0;i<9;i++)
add|=(db[i+11]<<i);
if (distb[nodeb]<=curb+add)
{
curb=distb[nodeb];
updb(nodeb);
}
else
{
curb+=add;
updb(node);
}
db.clear();
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
599 ms |
928 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
992 KB |
Output is correct |
2 |
Incorrect |
581 ms |
928 KB |
Wrong Answer [2] |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
512 ms |
936 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
740 ms |
1600 KB |
Output is correct |
2 |
Correct |
830 ms |
1448 KB |
Output is correct |
3 |
Correct |
899 ms |
23680 KB |
Output is correct |
4 |
Correct |
587 ms |
1568 KB |
Output is correct |
5 |
Correct |
706 ms |
17168 KB |
Output is correct |
6 |
Correct |
564 ms |
1600 KB |
Output is correct |
7 |
Correct |
620 ms |
1656 KB |
Output is correct |
8 |
Correct |
718 ms |
1760 KB |
Output is correct |
9 |
Correct |
960 ms |
36328 KB |
Output is correct |
10 |
Correct |
848 ms |
35952 KB |
Output is correct |
11 |
Correct |
1229 ms |
61352 KB |
Output is correct |
12 |
Correct |
1082 ms |
53744 KB |
Output is correct |
13 |
Correct |
590 ms |
1472 KB |
Output is correct |
14 |
Correct |
6 ms |
992 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
740 ms |
1600 KB |
Output is correct |
2 |
Correct |
830 ms |
1448 KB |
Output is correct |
3 |
Correct |
899 ms |
23680 KB |
Output is correct |
4 |
Correct |
587 ms |
1568 KB |
Output is correct |
5 |
Correct |
706 ms |
17168 KB |
Output is correct |
6 |
Correct |
564 ms |
1600 KB |
Output is correct |
7 |
Correct |
620 ms |
1656 KB |
Output is correct |
8 |
Correct |
718 ms |
1760 KB |
Output is correct |
9 |
Correct |
960 ms |
36328 KB |
Output is correct |
10 |
Correct |
848 ms |
35952 KB |
Output is correct |
11 |
Correct |
1229 ms |
61352 KB |
Output is correct |
12 |
Correct |
1082 ms |
53744 KB |
Output is correct |
13 |
Correct |
590 ms |
1472 KB |
Output is correct |
14 |
Correct |
6 ms |
992 KB |
Output is correct |
15 |
Correct |
810 ms |
1504 KB |
Output is correct |
16 |
Correct |
670 ms |
1600 KB |
Output is correct |
17 |
Correct |
912 ms |
1760 KB |
Output is correct |
18 |
Correct |
1098 ms |
17584 KB |
Output is correct |
19 |
Correct |
1048 ms |
1360 KB |
Output is correct |
20 |
Correct |
1114 ms |
17984 KB |
Output is correct |
21 |
Correct |
784 ms |
1712 KB |
Output is correct |
22 |
Correct |
914 ms |
1848 KB |
Output is correct |
23 |
Correct |
1354 ms |
44144 KB |
Output is correct |
24 |
Correct |
1080 ms |
43800 KB |
Output is correct |
25 |
Correct |
1488 ms |
75256 KB |
Output is correct |
26 |
Correct |
1200 ms |
64208 KB |
Output is correct |
27 |
Correct |
856 ms |
1856 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
740 ms |
1600 KB |
Output is correct |
2 |
Correct |
830 ms |
1448 KB |
Output is correct |
3 |
Correct |
899 ms |
23680 KB |
Output is correct |
4 |
Correct |
587 ms |
1568 KB |
Output is correct |
5 |
Correct |
706 ms |
17168 KB |
Output is correct |
6 |
Correct |
564 ms |
1600 KB |
Output is correct |
7 |
Correct |
620 ms |
1656 KB |
Output is correct |
8 |
Correct |
718 ms |
1760 KB |
Output is correct |
9 |
Correct |
960 ms |
36328 KB |
Output is correct |
10 |
Correct |
848 ms |
35952 KB |
Output is correct |
11 |
Correct |
1229 ms |
61352 KB |
Output is correct |
12 |
Correct |
1082 ms |
53744 KB |
Output is correct |
13 |
Correct |
590 ms |
1472 KB |
Output is correct |
14 |
Correct |
6 ms |
992 KB |
Output is correct |
15 |
Correct |
810 ms |
1504 KB |
Output is correct |
16 |
Correct |
670 ms |
1600 KB |
Output is correct |
17 |
Correct |
912 ms |
1760 KB |
Output is correct |
18 |
Correct |
1098 ms |
17584 KB |
Output is correct |
19 |
Correct |
1048 ms |
1360 KB |
Output is correct |
20 |
Correct |
1114 ms |
17984 KB |
Output is correct |
21 |
Correct |
784 ms |
1712 KB |
Output is correct |
22 |
Correct |
914 ms |
1848 KB |
Output is correct |
23 |
Correct |
1354 ms |
44144 KB |
Output is correct |
24 |
Correct |
1080 ms |
43800 KB |
Output is correct |
25 |
Correct |
1488 ms |
75256 KB |
Output is correct |
26 |
Correct |
1200 ms |
64208 KB |
Output is correct |
27 |
Correct |
856 ms |
1856 KB |
Output is correct |
28 |
Correct |
833 ms |
1760 KB |
Output is correct |
29 |
Correct |
1090 ms |
1792 KB |
Output is correct |
30 |
Correct |
1630 ms |
41872 KB |
Output is correct |
31 |
Correct |
936 ms |
1896 KB |
Output is correct |
32 |
Correct |
1494 ms |
37408 KB |
Output is correct |
33 |
Correct |
980 ms |
1936 KB |
Output is correct |
34 |
Correct |
1538 ms |
1872 KB |
Output is correct |
35 |
Correct |
932 ms |
2016 KB |
Output is correct |
36 |
Correct |
1750 ms |
49208 KB |
Output is correct |
37 |
Correct |
1470 ms |
49472 KB |
Output is correct |
38 |
Correct |
2020 ms |
85296 KB |
Output is correct |
39 |
Correct |
1882 ms |
78424 KB |
Output is correct |
40 |
Correct |
1014 ms |
2016 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
599 ms |
928 KB |
Wrong Answer [2] |
2 |
Halted |
0 ms |
0 KB |
- |