Submission #788151

# Submission time Handle Problem Language Result Execution time Memory
788151 2023-07-19T20:24:45 Z jamkel Two Transportations (JOI19_transportations) C++14
38 / 100
888 ms 46588 KB
#include <bits/stdc++.h>
#include "Azer.h"
using namespace std;
#define st first
#define nd second
int odl=0,numer=0;
int k1=0,k2=0;
int n;
vector<int>w(2000,-1);
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>q;
vector<vector<pair<int,int>>>graf;
int ile=1;
vector<int>Answer()
{
    vector<int>v(n);
    for(int i=0;i<n;i++)
    {
        v[i]=w[i];
    }
    return v;
}
void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C)
{
    n=N;
    w[0]=0;
    for(int i=0;i<n;i++)
    {
        graf.push_back({{}});
    }
    for(int i=0;i<A;i++)
    {
        graf[U[i]].push_back({C[i],V[i]});
        graf[V[i]].push_back({C[i],U[i]});
    }
    for(long unsigned int i=1;i<graf[0].size();i++)
    {
        q.push({graf[0][i].st,graf[0][i].nd});
    }
    q.push({1048575,0});
    if(ile<n)
    {
        for(int i=0;i<20;i++)
        {
            SendA(q.top().st&(1<<i));
        }
        for(int i=0;i<11;i++)
        {
           SendA(q.top().nd&(1<<i));
        }
    }
}
void ReceiveA(bool x)
{
    if(k1<20)
    {
        if(x)
        {
            odl+=pow(2,k1);
        }
        k1++;
    }
    else
    {
        if(x)
        {
            numer+=pow(2,k2);
        }
        k2++;
    }
    if(k2==11)
    {
            //cout<<numer<<" "<<odl<<endl;
            w[numer]=odl;
            ile++;
            for(long unsigned int i=0;i<graf[numer].size();i++)
            {
                q.push({graf[numer][i].st+odl,graf[numer][i].nd});
            }
            while(w[q.top().nd]>-1 && q.size()>1)
            {
                q.pop();
            }
            if(ile<n)
            {
                for(int i=0;i<20;i++)
                {
                    SendA(q.top().st&(1<<i));
                }
                for(int i=0;i<11;i++)
                {
                    SendA(q.top().nd&(1<<i));
                }
            }
            k1=0;k2=0;odl=0;numer=0;
    }
}
#include <bits/stdc++.h>
#include "Baijan.h"
using namespace std;
#define st first
#define nd second
int odl_b=0,numer_b=0;
int k1_b=0,k2_b=0;
int n_b;
vector<int>w_b(2000,-1);
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>q_b;
vector<vector<pair<int,int>>>graf_b;
void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D)
{
    w_b[0]=0;
    n_b=N;
    for(int i=0;i<n_b;i++)
    {
        graf_b.push_back({{}});
    }
    for(int i=0;i<B;i++)
    {
        graf_b[S[i]].push_back({D[i],T[i]});
        graf_b[T[i]].push_back({D[i],S[i]});
    }
    for(long unsigned int i=0;i<graf_b[0].size();i++)
    {
        q_b.push({graf_b[0][i].st,graf_b[0][i].nd});
    }
    q_b.push({1048575,0});         
}
void ReceiveB(bool x)
{
    if(k1_b<20)
    {
        if(x)
        {
            odl_b+=pow(2,k1_b);
        }
        k1_b++;
    }
    else
    {
        if(x)
        {
            numer_b+=pow(2,k2_b);
        }
        k2_b++;
    }
    if(k2_b==11)
    {
            while(w_b[q_b.top().nd]>-1 && q_b.size()>1)
            {
                q_b.pop();
            }
            if(odl_b>=q_b.top().st)
            {
                odl_b=q_b.top().st;
                numer_b=q_b.top().nd;
            }  
            w_b[numer_b]=odl_b;
            for(long unsigned int i=0;i<graf_b[numer_b].size();i++)
            {
                q_b.push({graf_b[numer_b][i].st+odl_b,graf_b[numer_b][i].nd});
            }
            for(int i=0;i<20;i++)
            {
                SendB(odl_b&(1<<i));
            }
            for(int i=0;i<11;i++)
            {
                SendB(numer_b&(1<<i));
            }
            k1_b=0;k2_b=0;odl_b=0;numer_b=0;
    }
}
# Verdict Execution time Memory Grader output
1 Runtime error 196 ms 400 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 400 KB Output is correct
2 Runtime error 230 ms 416 KB Execution killed with signal 13
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 213 ms 440 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 406 ms 676 KB Output is correct
2 Correct 380 ms 668 KB Output is correct
3 Correct 378 ms 13344 KB Output is correct
4 Correct 404 ms 656 KB Output is correct
5 Correct 565 ms 10016 KB Output is correct
6 Correct 472 ms 676 KB Output is correct
7 Correct 455 ms 656 KB Output is correct
8 Correct 459 ms 656 KB Output is correct
9 Correct 591 ms 23548 KB Output is correct
10 Correct 492 ms 23612 KB Output is correct
11 Correct 888 ms 46588 KB Output is correct
12 Correct 641 ms 44080 KB Output is correct
13 Correct 440 ms 868 KB Output is correct
14 Correct 1 ms 400 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 406 ms 676 KB Output is correct
2 Correct 380 ms 668 KB Output is correct
3 Correct 378 ms 13344 KB Output is correct
4 Correct 404 ms 656 KB Output is correct
5 Correct 565 ms 10016 KB Output is correct
6 Correct 472 ms 676 KB Output is correct
7 Correct 455 ms 656 KB Output is correct
8 Correct 459 ms 656 KB Output is correct
9 Correct 591 ms 23548 KB Output is correct
10 Correct 492 ms 23612 KB Output is correct
11 Correct 888 ms 46588 KB Output is correct
12 Correct 641 ms 44080 KB Output is correct
13 Correct 440 ms 868 KB Output is correct
14 Correct 1 ms 400 KB Output is correct
15 Runtime error 186 ms 380 KB Execution killed with signal 13
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 406 ms 676 KB Output is correct
2 Correct 380 ms 668 KB Output is correct
3 Correct 378 ms 13344 KB Output is correct
4 Correct 404 ms 656 KB Output is correct
5 Correct 565 ms 10016 KB Output is correct
6 Correct 472 ms 676 KB Output is correct
7 Correct 455 ms 656 KB Output is correct
8 Correct 459 ms 656 KB Output is correct
9 Correct 591 ms 23548 KB Output is correct
10 Correct 492 ms 23612 KB Output is correct
11 Correct 888 ms 46588 KB Output is correct
12 Correct 641 ms 44080 KB Output is correct
13 Correct 440 ms 868 KB Output is correct
14 Correct 1 ms 400 KB Output is correct
15 Runtime error 186 ms 380 KB Execution killed with signal 13
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 196 ms 400 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -