Submission #1156995

#TimeUsernameProblemLanguageResultExecution timeMemory
1156995irmuunTwo Transportations (JOI19_transportations)C++20
0 / 100
76 ms1040 KiB
#include "Azer.h"
#include <vector>
#include <bits/stdc++.h>

namespace {

int N;
int variable_example[500000];
int cnt;

}  // namespace

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define pii pair<int,int>

const int maxq=58000,maxn=2000,inf=1e9;

int cur=0,tot=0;
bool in[maxq];
int dist[maxn];

vector<pii>adj[maxn];

void InitA(int N, int A, vector<int> U, vector<int> V,vector<int> C) {
    ::N = N;
    vector<int>S,T,D;
    int l=0;
    S.resize(tot/33);
    T.resize(tot/33);
    D.resize(tot/33);
    for(int i=0;i<tot/33;i++){
        int cur=0;
        for(int j=0;j<12;j++){
            cur+=(in[l+j]?(1<<j):0);
        }
        S[i]=cur;
        l+=12;
        cur=0;
        for(int j=0;j<12;j++){
            cur+=(in[l+j]?(1<<j):0);
        }
        T[i]=cur;
        l+=12;
        cur=0;
        for(int j=0;j<9;j++){
            cur+=(in[l+j]?(1<<j):0);
        }
        D[i]=cur;
        l+=9;
    }
    for(int i=0;i<A;i++){
        adj[U[i]].pb({V[i],C[i]});
        adj[V[i]].pb({U[i],C[i]});
    }
    int B=tot/33;
    for(int i=0;i<B;i++){
        adj[S[i]].pb({T[i],D[i]});
        adj[T[i]].pb({S[i],D[i]});
    }
    fill(dist,dist+maxn,inf);
    priority_queue<pii,vector<pii>,greater<pii>>pq;
    pq.push({0,0});
    dist[0]=0;
    while(!pq.empty()){
        auto [d,i]=pq.top();
        pq.pop();
        if(dist[i]!=d) continue;
        for(auto [j,w]:adj[i]){
            if(dist[i]+w<dist[j]){
                dist[j]=dist[i]+w;
                pq.push({dist[j],j});
            }
        }
    }
}

void ReceiveA(bool x) {
    in[cnt++]=x;
    tot++;
}

vector<int>Answer(){
    vector<int>ans(N);
    for(int i=0;i<N;i++){
        ans[i]=dist[i];
    }
    return ans;
}
#include "Baijan.h"
#include <vector>
#include <bits/stdc++.h>

namespace {

int N;
int cnt;

bool FunctionExample(bool P) {
  return !P;
}

}  // namespace

using namespace std;

void InitB(int N, int B, vector<int> S, vector<int> T, vector<int> D) {
    ::N = N;
    for(int i=0;i<B;i++){
        for(int j=0;j<12;j++){
            SendB(S[i]&(1<<j)?true:false);
        }
        for(int j=0;j<12;j++){
            SendB(T[i]&(1<<j)?true:false);
        }
        for(int j=0;j<9;j++){
            SendB(D[i]&(1<<j)?true:false);
        }
    }
}

void ReceiveB(bool y) {
    cnt++;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...