Submission #122877

#TimeUsernameProblemLanguageResultExecution timeMemory
122877PlurmTwo Transportations (JOI19_transportations)C++14
8 / 100
928 ms55112 KiB
#include "Azer.h" #include <bits/stdc++.h> using namespace std; namespace { class state{ public: int u; int w; state(int x, int y) : u(x), w(y) {} friend bool operator<(state x, state y){ return x.w > y.w; } }; int N; vector<pair<int, int> > g[2048]; int dist[2048]; vector<bool> cur; void computeShortestPath(){ for(int i = 1; i < N; i++){ dist[i] = 1 << 21; } dist[0] = 0; priority_queue<state> pq; pq.emplace(0,0); while(!pq.empty()){ state curr = pq.top(); pq.pop(); for(auto v : g[curr.u]){ if(dist[v.first] > curr.w + v.second){ dist[v.first] = curr.w + v.second; pq.emplace(v.first, dist[v.first]); } } } } } void InitA(int N, int A, vector<int> U, vector<int> V, vector<int> C) { ::N = N; for(int i = 0; i < A; i++){ g[U[i]].emplace_back(V[i], C[i]); g[V[i]].emplace_back(U[i], C[i]); } } void ReceiveA(bool x) { cur.push_back(x); if(cur.size() % 31 == 0){ int w = 0; for(int i = cur.size()-31; i < cur.size()-22; i++){ if(cur[i]) w += 1 << (i+31-cur.size()); } int u = 0; for(int i = cur.size()-22; i < cur.size()-11; i++){ if(cur[i]) u += 1 << (i+22-cur.size()); } int v = 0; for(int i = cur.size()-11; i < cur.size(); i++){ if(cur[i]) v += 1 << (i+11-cur.size()); } g[u].emplace_back(v,w); g[v].emplace_back(u,w); } } vector<int> Answer() { computeShortestPath(); vector<int> ans; for(int i = 0; i < N; i++){ ans.push_back(dist[i]); } return ans; }
#include "Baijan.h" #include <bits/stdc++.h> using namespace std; namespace { int N; } void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D) { ::N = N; for(int i = 0; i < B; i++){ for(int j = 0; j < 9; j++){ if(D[i] & (1 << j)) SendB(true); else SendB(false); } for(int j = 0; j < 11; j++){ if(S[i] & (1 << j)) SendB(true); else SendB(false); } for(int j = 0; j < 11; j++){ if(T[i] & (1 << j)) SendB(true); else SendB(false); } } } void ReceiveB(bool y) { } /* 4 3 4 0 1 6 2 1 4 2 0 10 1 2 3 3 1 1 3 2 3 3 0 7 */

Compilation message (stderr)

Azer.cpp: In function 'void ReceiveA(bool)':
Azer.cpp:52:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = cur.size()-31; i < cur.size()-22; i++){
                                    ~~^~~~~~~~~~~~~~~
Azer.cpp:56:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = cur.size()-22; i < cur.size()-11; i++){
                                    ~~^~~~~~~~~~~~~~~
Azer.cpp:60:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = cur.size()-11; i < cur.size(); i++){
                                    ~~^~~~~~~~~~~~
#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...