Submission #984840

#TimeUsernameProblemLanguageResultExecution timeMemory
984840IUA_HasinCyberland (APIO23_cyberland)C++17
15 / 100
28 ms16976 KiB
#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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...