Submission #708379

# Submission time Handle Problem Language Result Execution time Memory
708379 2023-03-11T16:11:05 Z alvingogo Two Transportations (JOI19_transportations) C++14
0 / 100
382 ms 13352 KB
#include <bits/stdc++.h>
#include "Azer.h"
#pragma GCC optimize("Ofast")
#define AquA cin.tie(0);ios_base::sync_with_stdio(0);
#define fs first
#define sc second
#define p_q priority_queue
using namespace std;

namespace{
    vector<vector<pair<int,int> > > gg;
    int n,m;
    vector<int> dis,vis;
    void send(int a,int i){
        i--;
        for(;i>=0;i--){
            SendA((a>>i)&1);
        }
    }
    int nw=0,cnt=0,tp=0,x=0,pre=0;
}

void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C){
    send(0,9);
    n=N;
    m=A;
    gg.resize(n);
    dis.resize(n,1e9);
    vis.resize(n);
    dis[0]=0;
    for(int i=0;i<m;i++){
        gg[U[i]].push_back({V[i],C[i]});
        gg[V[i]].push_back({U[i],C[i]});
    }
}

void ReceiveA(bool y){
    nw=2*nw+y;
    cnt++;
    if(tp==0){
        if(cnt==9){
            if(nw<=x){
                tp=1;
                pre+=nw;
            }
            else{
                nw=x;
                pre+=nw;
                for(int i=0;i<n;i++){
                    if(!vis[i] && dis[i]==pre){
                        send(i,11);        
                        dis[i]=pre;
                        vis[i]=1;
                        for(auto h:gg[i]){
                            dis[h.fs]=min(dis[h.fs],dis[i]+h.sc);
                        }
                        int mm=1e9;
                        for(int j=0;j<n;j++){
                            if(!vis[j] && dis[j]<mm){
                                mm=dis[j];
                            }
                        }
                        x=min(500,mm-pre);
                        send(x,9);
                        break;
                    }
                }
            }
            nw=0;
            cnt=0;
        }
    }   
    else if(tp==1){
        if(cnt==11){
            dis[nw]=pre;
            vis[nw]=1;
            for(auto h:gg[nw]){
                dis[h.fs]=min(dis[h.fs],dis[nw]+h.sc);
            }
            int mm=1e9;
            for(int i=0;i<n;i++){
                if(!vis[i] && dis[i]<mm){
                    mm=dis[i];
                }
            }
            x=min(500,mm-pre);
            send(x,9);
            cnt=0;
            nw=0;
            tp=0;
        }
    }
}

std::vector<int> Answer(){
    
    return dis;
}
#include <bits/stdc++.h>
#include "Baijan.h"
#pragma GCC optimize("Ofast")
#define AquA cin.tie(0);ios_base::sync_with_stdio(0);
#define fs first
#define sc second
#define p_q priority_queue
using namespace std;

namespace{
    vector<vector<pair<int,int> > > gg;
    int n,m;
    vector<int> dis,vis;
    void send(int a,int i){
        i--;
        for(;i>=0;i--){
            SendB((a>>i)&1);
        }
    }
    int nw=0,cnt=0,tp=0,x=0,pre=0;
}

void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D){
    send(0,9);
    n=N;
    m=B;
    gg.resize(n);
    dis.resize(n,1e9);
    vis.resize(n);
    dis[0]=0;
    for(int i=0;i<m;i++){
        gg[S[i]].push_back({T[i],D[i]});
        gg[T[i]].push_back({S[i],D[i]});
    }
}

void ReceiveB(bool y){
    nw=2*nw+y;
    cnt++;
    if(tp==0){
        if(cnt==9){
            if(nw<x){
                tp=1;
                pre+=nw;
            }
            else{
                nw=x;
                pre+=nw;
                for(int i=0;i<n;i++){
                    if(!vis[i] && dis[i]==pre){
                        send(i,11);        
                        dis[i]=pre;
                        vis[i]=1;
                        for(auto h:gg[i]){
                            dis[h.fs]=min(dis[h.fs],dis[i]+h.sc);
                        }
                        int mm=1e9;
                        for(int j=0;j<n;j++){
                            if(!vis[j] && dis[j]<mm){
                                mm=dis[j];
                            }
                        }
                        x=min(500,mm-pre);
                        send(x,9);
                        break;
                    }
                }
            }
            nw=0;
            cnt=0;
        }
    }   
    else if(tp==1){
        if(cnt==11){
            dis[nw]=pre;
            vis[nw]=1;
            for(auto h:gg[nw]){
                dis[h.fs]=min(dis[h.fs],dis[nw]+h.sc);
            }
            int mm=1e9;
            for(int i=0;i<n;i++){
                if(!vis[i] && dis[i]<mm){
                    mm=dis[i];
                }
            }
            x=min(500,mm-pre);
            send(x,9);
            cnt=0;
            nw=0;
            tp=0;
        }
    }
}
# Verdict Execution time Memory Grader output
1 Runtime error 382 ms 416 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 400 KB Output is correct
2 Incorrect 40 ms 752 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 223 ms 328 KB Wrong Answer [2]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 182 ms 664 KB Output is correct
2 Correct 225 ms 636 KB Output is correct
3 Correct 305 ms 13352 KB Output is correct
4 Correct 241 ms 656 KB Output is correct
5 Correct 266 ms 9972 KB Output is correct
6 Incorrect 67 ms 668 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 182 ms 664 KB Output is correct
2 Correct 225 ms 636 KB Output is correct
3 Correct 305 ms 13352 KB Output is correct
4 Correct 241 ms 656 KB Output is correct
5 Correct 266 ms 9972 KB Output is correct
6 Incorrect 67 ms 668 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 182 ms 664 KB Output is correct
2 Correct 225 ms 636 KB Output is correct
3 Correct 305 ms 13352 KB Output is correct
4 Correct 241 ms 656 KB Output is correct
5 Correct 266 ms 9972 KB Output is correct
6 Incorrect 67 ms 668 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 382 ms 416 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -