Submission #417708

#TimeUsernameProblemLanguageResultExecution timeMemory
417708ioiRace (IOI11_race)C++14
21 / 100
38 ms2896 KiB
#include "race.h" #include<bits/stdc++.h> using namespace std ; int n , k , dis[1001] ; vector<pair<int , int >> adj[1001]; int vis[1001] , vid ; int bfs(int s){ memset(dis , 0 , sizeof dis); queue<pair<int , int > > q ; q.push({s , 0}); dis[s] = 0 ; vis[s] = vid ; while(!q.empty()){ auto f = q.front(); q.pop(); for(auto c : adj[f.first]){ if(vis[c.first] == vid)continue ; int nc = f.second + c.second ; int nd = dis[f.first] + 1 ; dis[c.first] = nd ; vis[c.first] = vid ; q.push({c.first , nc}); if(nc == k)return nd ; } } return 1e9 ; } int best_path(int N, int K, int H[][2], int L[]) { k = K ; int mn = 1e9 ; for(int i = 0 ; i < N ; i ++){ int from = H[i][0] , to = H[i][1]; adj[from].push_back({to , L[i]}); adj[to].push_back({from , L[i]}); } for(int i = 0 ; i < N ; i ++) vid ++ , mn = min(mn , bfs(i)); return (mn == 1e9 ? -1 : mn); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...