제출 #64353

#제출 시각아이디문제언어결과실행 시간메모리
64353theknife2001꿈 (IOI13_dreaming)C++17
0 / 100
58 ms13728 KiB
#include <bits/stdc++.h> #include "dreaming.h" #define ii pair< int , int > #define se second #define fi first using namespace std; const int N=1e5+55; vector < ii > vec[N]; bool visited[105]; int a,b; int d; int l=1e9+5000; int dfs(int u , int p ,bool q) { visited[u]=1; int d1=0,d2=0; int v,c; int temp=0; for(auto x:vec[u]) { v=x.fi; c=x.se; if(visited[v]) continue; temp=dfs(v,u,q); temp+=c; if(temp>d2) d2=temp; if(d2>d1) swap(d1,d2); } if(!q&&d<d1+d2) d=d1+d2; return d1; } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { int n=N; for(int i=0;i<N;i++) { vec[B[i]].push_back({A[i],T[i]}); vec[A[i]].push_back({B[i],T[i]}); } int l1=-1,l2; int ret=1e9+55; for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { vector < ii > temp1=vec[i]; vector < ii > temp2=vec[j]; vec[i].push_back({j,L}); vec[j].push_back({i,L}); memset(visited,0,sizeof visited); d=0; dfs(i,-1,0); int k=0; for(k=0;k<n;k++) if(visited[k]==0) break; if(k!=n) { vec[i].erase(vec[i].end()-1); vec[j].erase(vec[j].end()-1); continue; } ret=min(d,ret); vec[i].erase(vec[i].end()-1); vec[j].erase(vec[j].end()-1); } } return ret; }

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

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:47:9: warning: unused variable 'l1' [-Wunused-variable]
     int l1=-1,l2;
         ^~
dreaming.cpp:47:15: warning: unused variable 'l2' [-Wunused-variable]
     int l1=-1,l2;
               ^~
#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...