Submission #1221387

#TimeUsernameProblemLanguageResultExecution timeMemory
1221387PenguinsAreCuteTwo Transportations (JOI19_transportations)C++17
6 / 100
131 ms10416 KiB
#include "Azer.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
vector<bool> res;
}
void InitA(int N, int A, std::vector<int> U, std::vector<int> V,
           std::vector<int> C) {}
void ReceiveA(bool x) {
	res.push_back(x);
}
std::vector<int> Answer() {
	int N = res.size() / 20;
	vector<int> ans(N,0);
	for(int i=0;i<N;i++)
		for(int j=0;j<20;j++)
			ans[i] += (res[20*i+j] << j);
	return ans;
}
#include "Baijan.h"
#include <bits/stdc++.h>
using namespace std;
using ii = pair<int,int>;
namespace {
vector<ii> adj[2005];
int dist[2005];
void dijkstra(int s) {
	memset(dist,1,sizeof(dist));
	priority_queue<ii,vector<ii>,greater<ii>> pq;
	dist[s] = 0;
	pq.push({0,s});
	while(pq.size()) {
		auto [d, x] = pq.top();
		pq.pop();
		if(d != dist[x])
			continue;
		for(auto [i, di]: adj[x])
			if(dist[i] > dist[x] + di) {
				dist[i] = dist[x] + di;
				pq.push({dist[i],i});
			}
	}
}
}
void InitB(int N, int B, std::vector<int> S, std::vector<int> T,
           std::vector<int> D) {
	for(int i=0;i<B;i++) {
		adj[S[i]].push_back({T[i],D[i]});
		adj[T[i]].push_back({S[i],D[i]});
	}
	dijkstra(0);
	for(int i=0;i<N;i++)
		for(int j=0;j<20;j++)
			SendB(dist[i]&(1<<j));
}
void ReceiveB(bool y) {}
#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...