Submission #984840

# Submission time Handle Problem Language Result Execution time Memory
984840 2024-05-17T06:50:01 Z IUA_Hasin Cyberland (APIO23_cyberland) C++17
15 / 100
28 ms 16976 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 M = 3e5+5;
const ll INF = 5e16+69;

vector<ll> ind0;
vector<pair<ll, ll>> graph[M];
vector<ll> dist(M, INF);
ll vis[M];

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((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) {
    for(int i=0; i<=N; i++){
        graph[i].clear();
        dist[i] = INF;
        vis[i] = 0;
    }
    ind0.clear();

    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});
    }

    for(int i=0; i<arr.size(); i++){
        if(arr[i]==0){
            ind0.push_back(i);
        }
    }

    dijkstra(0);
    ll ans = dist[H];
    if(dist[H]==INF){
        return -1;
    } else {
        for(int i=0; i<=N; i++){
            graph[i].clear();
            dist[i] = INF;
            vis[i] = 0;
        }

        dijkstra(H);
        //ans = INF;
        for(int i=0; i<ind0.size(); i++){
            ll a = ind0[i];
            ll temp = dist[a];
            ans = min(temp, ans);
        }
        return ans;
    }

}   

Compilation message

cyberland.cpp: In function 'void dijkstra(long long int)':
cyberland.cpp:29:12: warning: unused variable 'v_dist' [-Wunused-variable]
   29 |         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:54:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |     for(int i=0; i<x.size(); i++){
      |                  ~^~~~~~~~~
cyberland.cpp:62:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |     for(int i=0; i<arr.size(); i++){
      |                  ~^~~~~~~~~~~
cyberland.cpp:81:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |         for(int i=0; i<ind0.size(); i++){
      |                      ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 16 ms 10076 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 21 ms 10076 KB Correct.
2 Correct 25 ms 10076 KB Correct.
3 Correct 23 ms 10076 KB Correct.
4 Correct 27 ms 10072 KB Correct.
5 Correct 24 ms 10072 KB Correct.
6 Correct 21 ms 10844 KB Correct.
7 Correct 27 ms 10840 KB Correct.
8 Correct 14 ms 11868 KB Correct.
9 Correct 23 ms 10044 KB Correct.
10 Correct 22 ms 9820 KB Correct.
# Verdict Execution time Memory Grader output
1 Incorrect 24 ms 10076 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 28 ms 16976 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 20 ms 10076 KB Correct.
2 Correct 22 ms 10072 KB Correct.
3 Correct 22 ms 10072 KB Correct.
4 Correct 22 ms 11352 KB Correct.
5 Correct 19 ms 9816 KB Correct.
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 10072 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 24 ms 10252 KB Wrong Answer.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 22 ms 10072 KB Wrong Answer.
2 Halted 0 ms 0 KB -