제출 #155844

#제출 시각아이디문제언어결과실행 시간메모리
155844TAISA_꿈 (IOI13_dreaming)C++14
18 / 100
58 ms8276 KiB
#include "dreaming.h" #include <bits/stdc++.h> #define all(vec) vec.begin(), vec.end() using namespace std; using ll = long long; using P = pair<int, int>; const int INF = (1 << 30) - 1; const ll LINF = (1LL << 60) - 1LL; int travelTime(int N, int M, int L, int A[], int B[], int T[]) { if (M == N - 1) { return 0; } vector<vector<P>> G(N); vector<int> vis(N); for (int i = 0; i < M; i++) { G[A[i]].push_back(P(B[i], T[i])); G[B[i]].push_back(P(A[i], T[i])); } vector<ll> s; for (int i = 0; i < N; i++) { if (!vis[i] && G[i].size() == 1) { vis[i] = 1; vector<ll> v; int t = G[i][0].first, p = i; v.push_back(G[i][0].second); while (G[t].size() > 1) { vis[t] = 1; if (G[t][0].first == p) { v.push_back(G[t][1].second); p = t; t = G[t][1].first; } else { v.push_back(G[t][0].second); p = t; t = G[t][0].first; } } vis[t] = 1; vector<ll> sum(v.size() + 1); for (int j = 0; j < v.size(); j++) { sum[j + 1] = sum[j] + v[j]; } ll mi = LINF; for (int j = 0; j <= v.size(); j++) { mi = min(mi, max(sum[j], sum[v.size()] - sum[j])); } s.push_back(mi); } else if (G[i].size() == 0) { s.push_back(0); } } sort(all(s)); reverse(all(s)); ll ans = 0; if (s.size() > 1) { ans = max(ans, s[0] + s[1] + L); } if (s.size() > 2) { ans = max(ans, s[1] + s[2] + 2LL * L); } return ans; }

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

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:40:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int j = 0; j < v.size(); j++) {
                             ~~^~~~~~~~~~
dreaming.cpp:44:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int j = 0; j <= v.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...