제출 #741673

#제출 시각아이디문제언어결과실행 시간메모리
741673vjudge1꿈 (IOI13_dreaming)C++17
0 / 100
39 ms11088 KiB
#include <bits/stdc++.h> #include "dreaming.h" using namespace std; #define endl '\n' #define ll long long #define all(x) x.begin(), x.end() vector<pair<int, int>> g[100005]; ll sz[100005]; vector<int> group; bool visited[100005]; int getSize(int n, int p = -1) { visited[n] = 1; group.push_back(n); sz[n] = 0; for (auto x : g[n]) { if (x.first == p) continue; sz[n] += getSize(x.first, n) + x.second; } return sz[n]; } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { for (int i = 0; i < M; i++) { g[A[i]].push_back({B[i], T[i]}); g[B[i]].push_back({A[i], T[i]}); } vector<int> groups; for (int i = 0; i < N; i++) { if (visited[i]) continue; group.clear(); getSize(i); int diff = INT_MAX; for (auto x : group) { if (abs(sz[i] / 2 - sz[x]) < diff) { diff = abs(sz[i] / 2 - sz[x]); } } groups.push_back(diff); } sort(all(groups)); reverse(all(groups)); int ans = 0; for (int i = 1; i < groups.size(); i++) { ans = max(ans, groups[i] + groups[0] + L); } return ans; }

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

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:47:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for (int i = 1; i < groups.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...