Submission #943651

# Submission time Handle Problem Language Result Execution time Memory
943651 2024-03-11T17:27:37 Z yeediot Two Transportations (JOI19_transportations) C++14
0 / 100
416 ms 58916 KB
#include "Azer.h"
#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
namespace {
    const int mxn=5e5+5;
    int cur=0,bit=0,n,cnt;
    vector<pair<int,int>>adj[mxn];
    vector<int>dis;
    vector<bool>vis;
    int prev=0;
    bool first=1;
    pair<int,int>mn={(1<<9)-1,(1<<9)-1};
    void send(int a,int b){
        b--;
        for(;b>=0;b--){
            SendA(a>>b&1);
        }
    }
    void gmn(){
        dis[mn.S]=prev+mn.F;
        prev=dis[mn.S];
        cnt--;
        vis[mn.S]=1;
        for(auto [u,d]:adj[mn.S]){
            dis[u]=min(dis[u],dis[mn.S]+d);
        }
        mn={(1<<9)-1,(1<<9)-1};
        for(int i=0;i<n;i++){
            if(vis[i])continue;
            mn=min(mn,{dis[i]-prev,i});
        }
        if(cnt)send(mn.F,9);
    }
    void gdis(){
        if(cur==(1<<9)-1){
            send(mn.S,11);
            gmn();
            first=1;
        }
        else{
            mn.F=cur;
            first=0;
        }
        cur=bit=0;
    }
    void gid(){
        mn.S=cur;
        cur=bit=0;
        first=1;
        gmn();
    }
}  // namespace
void InitA(int N, int A, std::vector<int> U, std::vector<int> V,std::vector<int> C) {
    for(int i=0;i<A;i++){
        adj[V[i]].push_back({U[i],C[i]});
        adj[U[i]].push_back({V[i],C[i]});
    }
    n=N;
    cnt=n;
    dis=vector<int>(N);
    vis=vector<bool>(N);
    dis[0]=0;
    vis[0]=1;
    cnt--;
    for(int i=1;i<N;i++){
        dis[i]=1e9;
        vis[i]=0;
    }
    int v=0;
    for(auto [u,d]:adj[v]){
        dis[u]=min(dis[u],dis[v]+d);
        mn=min(mn,{dis[u],u});
    }
    send(mn.F,9);
}

void ReceiveA(bool x) {
    cur=cur*2+x;
    bit++;
    if(bit==9 and first){
        gdis();
    }
    else if(bit==11){
        gid();
    }
}

std::vector<int> Answer() {
    return dis;
}
#include "Baijan.h"
#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
namespace {
    const int mxn=5e5+5;
    int cur=0,bit=0,n;
    vector<pair<int,int>>adj[mxn];
    vector<int>dis;
    int prev=0;
    vector<bool>vis;
    bool first=1;
    pair<int,int>mn={(1<<9)-1,(1<<9)-1};
    void send(int a,int b){
        b--;
        for(;b>=0;b--){
            SendB(a>>b&1);
        }
    }
    void gmn(){
        dis[mn.S]=prev+mn.F;
        prev=dis[mn.S];
        vis[mn.S]=1;
        for(auto [u,d]:adj[mn.S]){
            dis[u]=min(dis[u],dis[mn.S]+d);
        }
        mn={(1<<9)-1,(1<<9)-1};
        for(int i=0;i<n;i++){
            if(vis[i])continue;
            mn=min(mn,{dis[i]-prev,i});
        }
    }
    void gdis(){
        if(mn.F>cur){
            mn.F=cur;
            send((1<<9)-1,9);
            first=0;
        }
        else{
            send(mn.F,9);
            send(mn.S,11);
            gmn();
        }
        cur=bit=0;
    }
    void gid(){
        mn.S=cur;
        cur=bit=0;
        first=1;
        gmn();
    }
}  // namespace
void InitB(int N, int B, std::vector<int> U, std::vector<int> V,std::vector<int> C) {
    for(int i=0;i<B;i++){
        adj[V[i]].push_back({U[i],C[i]});
        adj[U[i]].push_back({V[i],C[i]});
    }
    n=N;
    dis=vector<int>(N);
    vis=vector<bool>(N);
    dis[0]=0;
    vis[0]=1;
    for(int i=1;i<N;i++){
        dis[i]=1e9;
        vis[i]=0;
    }
    int v=0;
    for(auto [u,d]:adj[v]){
        dis[u]=min(dis[u],dis[v]+d);
        mn=min(mn,{dis[u],u});
    }
}
void ReceiveB(bool x) {
    cur=cur*2+x;
    bit++;
    if(bit==9 and first){
        gdis();
    }
    else if(bit==11){
        gid();
    }
}

Compilation message

Azer.cpp: In function 'void {anonymous}::gmn()':
Azer.cpp:26:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   26 |         for(auto [u,d]:adj[mn.S]){
      |                  ^
Azer.cpp: In function 'void InitA(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
Azer.cpp:72:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   72 |     for(auto [u,d]:adj[v]){
      |              ^

Baijan.cpp: In function 'void {anonymous}::gmn()':
Baijan.cpp:25:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   25 |         for(auto [u,d]:adj[mn.S]){
      |                  ^
Baijan.cpp: In function 'void InitB(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
Baijan.cpp:69:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   69 |     for(auto [u,d]:adj[v]){
      |              ^
# Verdict Execution time Memory Grader output
1 Correct 416 ms 24468 KB Output is correct
2 Runtime error 179 ms 12168 KB Execution killed with signal 13
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 170 ms 12164 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 368 ms 24332 KB Output is correct
2 Runtime error 204 ms 12156 KB Execution killed with signal 13
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 165 ms 24288 KB Output is correct
2 Correct 176 ms 24256 KB Output is correct
3 Correct 248 ms 36828 KB Output is correct
4 Correct 166 ms 24460 KB Output is correct
5 Correct 206 ms 33464 KB Output is correct
6 Correct 147 ms 24216 KB Output is correct
7 Correct 124 ms 24216 KB Output is correct
8 Correct 177 ms 24472 KB Output is correct
9 Correct 260 ms 41968 KB Output is correct
10 Correct 236 ms 41616 KB Output is correct
11 Correct 341 ms 58916 KB Output is correct
12 Correct 317 ms 54616 KB Output is correct
13 Correct 170 ms 24216 KB Output is correct
14 Runtime error 173 ms 12168 KB Execution killed with signal 13
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 165 ms 24288 KB Output is correct
2 Correct 176 ms 24256 KB Output is correct
3 Correct 248 ms 36828 KB Output is correct
4 Correct 166 ms 24460 KB Output is correct
5 Correct 206 ms 33464 KB Output is correct
6 Correct 147 ms 24216 KB Output is correct
7 Correct 124 ms 24216 KB Output is correct
8 Correct 177 ms 24472 KB Output is correct
9 Correct 260 ms 41968 KB Output is correct
10 Correct 236 ms 41616 KB Output is correct
11 Correct 341 ms 58916 KB Output is correct
12 Correct 317 ms 54616 KB Output is correct
13 Correct 170 ms 24216 KB Output is correct
14 Runtime error 173 ms 12168 KB Execution killed with signal 13
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 165 ms 24288 KB Output is correct
2 Correct 176 ms 24256 KB Output is correct
3 Correct 248 ms 36828 KB Output is correct
4 Correct 166 ms 24460 KB Output is correct
5 Correct 206 ms 33464 KB Output is correct
6 Correct 147 ms 24216 KB Output is correct
7 Correct 124 ms 24216 KB Output is correct
8 Correct 177 ms 24472 KB Output is correct
9 Correct 260 ms 41968 KB Output is correct
10 Correct 236 ms 41616 KB Output is correct
11 Correct 341 ms 58916 KB Output is correct
12 Correct 317 ms 54616 KB Output is correct
13 Correct 170 ms 24216 KB Output is correct
14 Runtime error 173 ms 12168 KB Execution killed with signal 13
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 416 ms 24468 KB Output is correct
2 Runtime error 179 ms 12168 KB Execution killed with signal 13
3 Halted 0 ms 0 KB -