제출 #220881

#제출 시각아이디문제언어결과실행 시간메모리
220881Ruxandra985Cities (BOI16_cities)C++14
0 / 100
122 ms8056 KiB
#include <bits/stdc++.h> #define DIMN 100010 using namespace std; int tt[DIMN] , sp[DIMN]; long long sum[DIMN]; pair <int , pair <int,int> > v[2 * DIMN]; int root (int x){ while (tt[x] > 0) x = tt[x]; return x; } int main() { FILE *fin = stdin; FILE *fout = stdout; int n , m , k , i , j , x , y , rx , ry , cost; fscanf (fin,"%d%d%d",&n,&k,&m); for (i = 1 ; i <= k ; i++) fscanf (fin,"%d",&sp[i]); for (i = 1 ; i <= m ; i++) fscanf (fin,"%d%d%d",&v[i].second.first , &v[i].second.second , &v[i].first); sort (v + 1 , v + m + 1); for (i = 1 ; i <= n ; i++) tt[i] = -1; for (i = 1 ; i <= m ; i++){ x = v[i].second.first; y = v[i].second.second; cost = v[i].first; rx = root(x); ry = root(y); if (rx != ry){ if (tt[rx] < tt[ry]){ tt[rx] += tt[ry]; tt[ry] = rx; sum[rx] += sum[ry] + cost; } else { tt[ry] += tt[rx]; tt[rx] = ry; sum[ry] += sum[rx] + cost; } } for (j = 2 ; j <= k ; j++){ if (root(sp[j]) != root(sp[j - 1])) break; } if (j > k) break; } fprintf (fout,"%lld",sum[root(sp[1])]); return 0; }

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

cities.cpp: In function 'int main()':
cities.cpp:20:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d%d%d",&n,&k,&m);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
cities.cpp:23:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%d",&sp[i]);
         ~~~~~~~^~~~~~~~~~~~~~~~~
cities.cpp:26:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%d%d%d",&v[i].second.first , &v[i].second.second , &v[i].first);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...