제출 #463679

#제출 시각아이디문제언어결과실행 시간메모리
463679tomsydHighway Tolls (IOI18_highway)C++17
5 / 100
235 ms262148 KiB
#include "highway.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> adj; vector<pair<int,int>> edges; void dfs(int node, int prev){ for (int i:adj[node]){ if (i != prev){ dfs(i,node); edges.emplace_back(node,i); } } } void find_pair(int N, vector<int> U, vector<int> V, int A, int B) { int M = U.size(); edges.clear(); adj = vector<vector<int>>(N); map<pair<int,int>,int> id; for (int i=0; i<M; ++i){ adj[U[i]].emplace_back(V[i]); adj[V[i]].emplace_back(U[i]); id[make_pair(U[i],V[i])] = i; id[make_pair(V[i],U[i])] = i; } dfs(0,-1); vector<int> query; for (int i=0; i<M; ++i) query.emplace_back(1); int init = ask(query), crt = 0; for (int j=0; j<edges.size(); ++j){ query[id[edges[j]]] = 0; if (ask(query) != init){ crt = edges[j].second; break; } query[id[edges[j]]] = 1; } answer(crt,0); }

컴파일 시 표준 에러 (stderr) 메시지

highway.cpp: In function 'void find_pair(int, std::vector<int>, std::vector<int>, int, int)':
highway.cpp:32:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |  for (int j=0; j<edges.size(); ++j){
      |                ~^~~~~~~~~~~~~
#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...