Submission #1199688

#TimeUsernameProblemLanguageResultExecution timeMemory
1199688herissonwow2Race (IOI11_race)C++20
21 / 100
13 ms1604 KiB
#include "race.h" #include <vector> #include <queue> #include <iostream> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") using namespace std; const int N = 1005; int att[N]; int biju[N]; int len[N]; vector<vector<pair<int,int>>> g(N); void DFS(int v1){ for(auto p : g[v1]){ if(!biju[p.second]){ biju[p.second] = 1; att[p.second] = att[v1] + p.first; len[p.second] = len[v1] + 1; DFS(p.second); } } } int best_path(int N, int K, int H[][2], int L[]) { for(int i = 0;i < N - 1;i++) { int u = H[i][0], v = H[i][1], w = L[i]; g[u].push_back({w, v}); g[v].push_back({w, u}); } //cout << "test"; int res = -1; for(int i = 0; i < N; i++){ //fill(att,att+N, 0); fill(biju,biju+N, 0); att[i] = len[i] = 0; biju[i] = 1; DFS(i); for(int j = 0;j < N;j++){ if(att[j] == K && (res == -1 || len[j] < res)) res = len[j]; } } //cout << res/2; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...