Submission #983636

# Submission time Handle Problem Language Result Execution time Memory
983636 2024-05-15T19:42:29 Z user736482 Two Transportations (JOI19_transportations) C++17
0 / 100
3000 ms 664 KB
#include <bits/stdc++.h>
#include<Azer.h>
using namespace std;
vector<int> answer,akliczby;
int p,akwaga=1,akbit=-1,rec;
vector<bool>tym;
set<pair<int,pair<int,int>>>krawedzie;
bool odwiedzone[2000];
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;
    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]}});
    }
    while((int)krawedzie.size()<N-1){
        p=2*2;
    }
    for(auto i=krawedzie.begin();i!=krawedzie.end();i++){
        sasiedzi[(*i).second.first].push_back({(*i).second.second,(*i).first});
        sasiedzi[(*i).second.second].push_back({(*i).second.first,(*i).first});
    }
    for(int i=0;i<(int)sasiedzi[0].size();i++){
        pq.push(sasiedzi[0][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];
            }
            akliczby.push_back(rec);
            if(akliczby.size()==2){
                krawedzie.insert({akwaga,{akliczby[0],akliczby[1]}});
                akliczby.clear();
            }
        }
    }
}
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;
        }
        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 Execution timed out 3000 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 664 KB Output is correct
2 Execution timed out 3000 ms 332 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3000 ms 340 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3000 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3000 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3000 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3000 ms 332 KB Time limit exceeded
2 Halted 0 ms 0 KB -