Submission #984308

# Submission time Handle Problem Language Result Execution time Memory
984308 2024-05-16T13:03:08 Z IUA_Hasin Cyberland (APIO23_cyberland) C++17
0 / 100
32 ms 17972 KB
#include "cyberland.h"
#include <bits/stdc++.h>
 
#define endl                                "\n"
#define yeap                                cout<<"YES"<<endl
#define nope                                cout<<"NO"<<endl
#define ll                                  long long
#define ld                                  long double
 
using namespace std; 

const ll N = 3e5+5;
const ll INF = 1e16+10;

vector<pair<ll, ll>> graph[N];
vector<ll> dist(N, INF);
ll vis[N];
vector<ll> arr2;

void dijkstra(ll source){
    set<pair<ll, ll>> s;
    s.insert({0, source});
    dist[source] = 0;

    while(s.size()>0){
        auto node = *s.begin();
        ll v = node.second;
        ll v_dist = node.first;
        s.erase(s.begin());
        if(vis[v]==0){
            for(auto child : graph[v]){
                ll v2 = child.first;
                ll wt = child.second;
                if(arr2[v2]==0){
                    wt = 0;
                }
                if((dist[v]+wt)<(dist[v2])){
                    dist[v2] = dist[v]+wt;
                    s.insert({dist[v2], v2});
                }
            }
            vis[v] = 1;
        }
    }
    
}

double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) {
    arr2.clear();
    for(int i=0; i<=N; i++){
        graph[i].clear();
        vis[i] = 0;
        dist[i] = INF;
    }
    for(int i=0; i<N; i++){
        ll a = arr[i];
        arr2.push_back(a);
    }

    for(int i=0; i<x.size(); i++){
        ll a = x[i];
        ll b = y[i];
        ll wt = c[i];
        graph[a].push_back({b, wt});
        graph[b].push_back({a, wt});

    }

    dijkstra(0);
    ld ans = dist[H];
    for(int i=0; i<N; i++){
        cout << dist[i] << " ";
    }
    cout<<endl;
    return ans;
}   

Compilation message

cyberland.cpp: In function 'void dijkstra(long long int)':
cyberland.cpp:28:12: warning: unused variable 'v_dist' [-Wunused-variable]
   28 |         ll v_dist = node.first;
      |            ^~~~~~
cyberland.cpp: In function 'double solve(int, int, int, int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
cyberland.cpp:60:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for(int i=0; i<x.size(); i++){
      |                  ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 10328 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 10580 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 10584 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 32 ms 17972 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 26 ms 10840 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 10844 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 27 ms 10844 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 10744 KB Wrong Answer.
2 Halted 0 ms 0 KB -