Submission #983853

# Submission time Handle Problem Language Result Execution time Memory
983853 2024-05-16T07:25:53 Z user736482 Two Transportations (JOI19_transportations) C++17
0 / 100
228 ms 1596 KB
#include <bits/stdc++.h>
#include<Azer.h>
using namespace std;
vector<int> answer,akliczby;
int akwaga=1,akbit=-1,rec,ileod,n;
vector<bool>tym;
set<pair<int,pair<int,int>>>krawedzie;
bool odwiedzone[2000];
pair<int,int>akkrawedz;
vector<pair<int,int>> sasiedzi[2000];
priority_queue<pair<int,int>>pq;
void InitA(int N, int A, vector<int>U,vector<int>V,vector<int>C ){
    odwiedzone[0]=1;
    n=N;
    for(int i=0;i<N;i++){
        answer.push_back(9999999);
    }
    answer[0]=0;
    for(int i=0;i<A;i++){
        krawedzie.insert({C[i],{U[i],V[i]}});
    }
    
}
void ReceiveA(bool x){
    if(akbit==-1){
        if(!x)
            akbit=0;
        else
            akwaga++;
    }
    else{
        tym.push_back(x);
        akbit++;
        if(akbit==11){
            akbit=-1;
            rec=0;
            for(int i=10;i>=0;i--){
                rec*=2;
                rec+=tym[i];
            }
            tym.clear();
            akliczby.push_back(rec);
            if(akliczby.size()==2){
                krawedzie.insert({akwaga,{akliczby[0],akliczby[1]}});
                akliczby.clear();
            }
        }
    }
    if((int)krawedzie.size()==n-1){
        for(auto i=krawedzie.begin();i!=krawedzie.end();i++){
            sasiedzi[(*i).second.first-1].push_back({(*i).first,(*i).second.second-1});
            sasiedzi[(*i).second.second-1].push_back({(*i).first,(*i).second.first-1});
        }
        for(int i=0;i<(int)sasiedzi[0].size();i++){
            pq.push(sasiedzi[0][i]);
        }
        ileod=1;
        while(ileod!=n){
            akkrawedz=pq.top();
            pq.pop();
            if(!odwiedzone[akkrawedz.second]){
                ileod++;
                odwiedzone[akkrawedz.second]=1;
                answer[akkrawedz.second]=akkrawedz.first;
                for(int i=0;i<(int)sasiedzi[akkrawedz.second].size();i++){
                    pq.push({sasiedzi[akkrawedz.second][i].first+akkrawedz.first,sasiedzi[akkrawedz.second][i].second});
                }
            }
        }
    }
}
vector<int> Answer(){
    return answer;
}
#include<bits/stdc++.h>
#include<Baijan.h>
using namespace std;
 
void InitB(int N, int B, vector<int>U,vector<int>V,vector<int>C ){
    set<pair<int,pair<int,int>>>krawedzie;
    int akwaga=1,ak;
    for(int i=0;i<B;i++){
        krawedzie.insert({C[i],{U[i],V[i]}});
    }
    for(auto i=krawedzie.begin();i!=krawedzie.end();i++){
        while((*i).first>akwaga){
            akwaga++;
            SendB(1);
        }
        SendB(0);
        ak=(*i).second.first;
        for(int i=0;i<11;i++){
            SendB(ak%2);
            ak/=2;
        }
        SendB(0);
        ak=(*i).second.second;
        for(int i=0;i<11;i++){
            SendB(ak%2);
            ak/=2;
        }
    }
}
void ReceiveB(bool y){
    
}
# Verdict Execution time Memory Grader output
1 Runtime error 228 ms 1340 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 664 KB Output is correct
2 Runtime error 113 ms 1596 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 112 ms 1084 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 59 ms 1028 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 59 ms 1028 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 59 ms 1028 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 228 ms 1340 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -