#include <bits/stdc++.h>
#include "Azer.h"
#pragma GCC optimize("Ofast")
#define AquA cin.tie(0);ios_base::sync_with_stdio(0);
#define fs first
#define sc second
#define p_q priority_queue
using namespace std;
namespace{
vector<int> dis;
int n;
int m;
vector<vector<pair<int,int> > > gg;
int nw,f=-1,r=-1,c=-1;
int cnt=0;
int flag=-1;
int z=0;
}
void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C){
n=N;
m=A;
gg.resize(n);
dis.resize(n,1e9);
dis[0]=0;
for(int i=0;i<m;i++){
gg[U[i]].push_back({V[i],C[i]});
gg[V[i]].push_back({U[i],C[i]});
}
}
void ReceiveA(bool x){
if(flag==-1){
flag=x;
return;
}
nw=nw*2+x;
cnt++;
if(flag==0){
if(cnt==20){
dis[z]=nw;
nw=0;
cnt=0;
z++;
}
}
else{
if(cnt==11){
if(f==-1){
f=nw;
}
else if(r==-1){
r=nw;
}
else if(c==-1){
c=nw;
gg[f].push_back({r,c});
gg[r].push_back({f,c});
f=-1;
r=-1;
c=-1;
}
cnt=0;
nw=0;
}
}
}
std::vector<int> Answer(){
if(flag){
p_q<pair<int,int> > pq;
pq.push({0,0});
while(pq.size()){
auto h=pq.top();
pq.pop();
h.fs*=-1;
if(h.fs!=dis[h.sc]){
continue;
}
for(auto y:gg[h.sc]){
if(dis[y.fs]>h.fs+y.sc){
dis[y.fs]=h.fs+y.sc;
pq.push({-dis[y.fs],y.fs});
}
}
}
}
return dis;
}
#include <bits/stdc++.h>
#include "Baijan.h"
#pragma GCC optimize("Ofast")
#define AquA cin.tie(0);ios_base::sync_with_stdio(0);
#define fs first
#define sc second
#define p_q priority_queue
using namespace std;
void send(int a,int i){
i--;
for(;i>=0;i--){
SendB((a>>i)&1);
}
}
void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D){
if(B<=1000){
SendB(1);
for(int i=0;i<B;i++){
send(S[i],11);
send(T[i],11);
send(D[i],11);
}
}
else{
SendB(0);
vector<int> dis(N,1e9);
vector<vector<pair<int,int> > > gg(N);
for(int i=0;i<B;i++){
gg[S[i]].push_back({T[i],D[i]});
gg[T[i]].push_back({S[i],D[i]});
}
p_q<pair<int,int> > pq;
dis[0]=0;
pq.push({0,0});
while(pq.size()){
auto h=pq.top();
pq.pop();
h.fs*=-1;
if(h.fs!=dis[h.sc]){
continue;
}
for(auto y:gg[h.sc]){
if(dis[y.fs]>h.fs+y.sc){
dis[y.fs]=h.fs+y.sc;
pq.push({-dis[y.fs],y.fs});
}
}
}
for(int i=0;i<N;i++){
send(dis[i],20);
}
}
}
void ReceiveB(bool y){
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
309 ms |
784 KB |
Output is correct |
2 |
Correct |
1 ms |
400 KB |
Output is correct |
3 |
Correct |
324 ms |
792 KB |
Output is correct |
4 |
Correct |
394 ms |
10128 KB |
Output is correct |
5 |
Correct |
23 ms |
656 KB |
Output is correct |
6 |
Correct |
373 ms |
2324 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
400 KB |
Output is correct |
2 |
Correct |
199 ms |
744 KB |
Output is correct |
3 |
Correct |
180 ms |
808 KB |
Output is correct |
4 |
Correct |
337 ms |
27556 KB |
Output is correct |
5 |
Correct |
190 ms |
24100 KB |
Output is correct |
6 |
Correct |
262 ms |
644 KB |
Output is correct |
7 |
Correct |
457 ms |
24092 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
162 ms |
740 KB |
Output is correct |
2 |
Correct |
0 ms |
400 KB |
Output is correct |
3 |
Correct |
353 ms |
788 KB |
Output is correct |
4 |
Correct |
260 ms |
744 KB |
Output is correct |
5 |
Correct |
135 ms |
740 KB |
Output is correct |
6 |
Correct |
241 ms |
728 KB |
Output is correct |
7 |
Correct |
157 ms |
740 KB |
Output is correct |
8 |
Incorrect |
291 ms |
800 KB |
Output isn't correct |
9 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
126 ms |
660 KB |
Output is correct |
2 |
Correct |
250 ms |
756 KB |
Output is correct |
3 |
Incorrect |
228 ms |
13356 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
126 ms |
660 KB |
Output is correct |
2 |
Correct |
250 ms |
756 KB |
Output is correct |
3 |
Incorrect |
228 ms |
13356 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
126 ms |
660 KB |
Output is correct |
2 |
Correct |
250 ms |
756 KB |
Output is correct |
3 |
Incorrect |
228 ms |
13356 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
309 ms |
784 KB |
Output is correct |
2 |
Correct |
1 ms |
400 KB |
Output is correct |
3 |
Correct |
324 ms |
792 KB |
Output is correct |
4 |
Correct |
394 ms |
10128 KB |
Output is correct |
5 |
Correct |
23 ms |
656 KB |
Output is correct |
6 |
Correct |
373 ms |
2324 KB |
Output is correct |
7 |
Correct |
1 ms |
400 KB |
Output is correct |
8 |
Correct |
199 ms |
744 KB |
Output is correct |
9 |
Correct |
180 ms |
808 KB |
Output is correct |
10 |
Correct |
337 ms |
27556 KB |
Output is correct |
11 |
Correct |
190 ms |
24100 KB |
Output is correct |
12 |
Correct |
262 ms |
644 KB |
Output is correct |
13 |
Correct |
457 ms |
24092 KB |
Output is correct |
14 |
Correct |
162 ms |
740 KB |
Output is correct |
15 |
Correct |
0 ms |
400 KB |
Output is correct |
16 |
Correct |
353 ms |
788 KB |
Output is correct |
17 |
Correct |
260 ms |
744 KB |
Output is correct |
18 |
Correct |
135 ms |
740 KB |
Output is correct |
19 |
Correct |
241 ms |
728 KB |
Output is correct |
20 |
Correct |
157 ms |
740 KB |
Output is correct |
21 |
Incorrect |
291 ms |
800 KB |
Output isn't correct |
22 |
Halted |
0 ms |
0 KB |
- |