제출 #563769

#제출 시각아이디문제언어결과실행 시간메모리
563769pvpwarrior도로 폐쇄 (APIO21_roads)C++14
0 / 100
2057 ms21192 KiB
#include "roads.h" #include <bits/stdc++.h> using namespace std; #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL) #define ll long long #define vi std::vector<ll> #define si set<ll> #define INF 100000000 #define pb push_back #define mod 1000000007 std::vector<long long> minimum_closure_costs(int N, std::vector<int> U, std::vector<int> V, std::vector<int> W) { ll n = N; set<pair < ll, ll > > adj[n]; // for (int i = 0; i < n-1; ++i){ // cin >> u[i] >> v[i] >> w[i]; // } // for (int i = 0; i < n; ++i){ // cin >> v[i]; // } // for (int i = 0; i < n; ++i){ // cin >> w[i]; // } for (int i = 0; i < n-1; ++i){ adj[V[i]].insert(make_pair(W[i] , U[i])); adj[U[i]].insert(make_pair(W[i] , V[i])); } // for (int i = 0; i < n; ++i) // { // cout << i << ": "; // for(auto x: adj[i]){ // cout << "(" << x.first << ", " << x.second << "), "; // } // cout << "\n"; // } vi ans(n,0); ll sum = 0; for (int k = n-1; k >= 0; k--){ sum = 0; // cout << k << " :\n"; for (int i = 0; i < n; ++i){ while(adj[i].size() > k){ auto it = adj[i].begin(); pair <ll ,ll > x = *it; sum += x.first; ll in = x.second; auto it2 = adj[in].find(make_pair(x.first, i)); pair <ll ,ll > y = *it2; adj[x.second].erase(it2); // return 0; // cout << x.first << " " << x.second << "\n"; // cout << y.first << " " << y.second << "\n"; adj[i].erase(it); // cout << "\n"; } // cout << "\n"; } // cout << "\n"; if(n-1-k) ans[n-1-k]=ans[n-k-2]; ans[n-1-k] += sum; } // for (int i = n-1; i >= 0; i--){ // cout << ans[i] << " "; // } return ans; }

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

roads.cpp: In function 'std::vector<long long int> minimum_closure_costs(int, std::vector<int>, std::vector<int>, std::vector<int>)':
roads.cpp:46:33: warning: comparison of integer expressions of different signedness: 'std::set<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   46 |             while(adj[i].size() > k){
      |                   ~~~~~~~~~~~~~~^~~
roads.cpp:55:32: warning: variable 'y' set but not used [-Wunused-but-set-variable]
   55 |                 pair <ll ,ll > y = *it2;
      |                                ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...