제출 #1004212

#제출 시각아이디문제언어결과실행 시간메모리
1004212hacizadalRailway (BOI17_railway)C++17
0 / 100
1078 ms35660 KiB
/* :) */
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define pll pair<ll, ll>
const int sz = 1e5+5;
vector<ll>g[sz];
ll used[sz], par[sz], a[sz];
map<pll, ll>mp, ans;

void dfs(ll v)
{
    used[v] = 1;
    for (auto u : g[v]){
        if (used[u] == 0){
            par[u] = v;
            dfs(u);
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    ll n, m, k, f;
    cin>>n>>m>>k;
    for (ll i = 1; i<=n-1; i++){
        ll u, v;
        cin>>u>>v;
        ans[{u, v}] = ans[{v, u}] = i;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    while (m--){
        cin>>f;
        for (ll i = 1; i<=f; i++){
            cin>>a[i];
        }
        set<pll>s;
        for (ll i = 1; i<=f; i++){
            dfs(a[i]);
            for (ll j = i+1; j<=f; j++){
                ll x = a[i], y = a[j];
                while (par[y] != x){
                    if (y > par[y]) s.insert({par[y], y});
                    else            s.insert({y, par[y]});
                    y = par[y];
                }
                if (y > par[y]) s.insert({par[y], y});
                else            s.insert({y, par[y]});
            }
            for (ll j = 1; j<=n; j++){
                par[j] = used[j] = 0;
            }
        }
        for (auto i : s){
            mp[{i.first, i.second}]++;
        }
    }
    vector<ll>v;
    for (auto i : mp){
        if (i.second >= k){
            v.push_back(ans[{i.first.first, i.first.second}]);
        }
    }
    cout<<v.size()<<endl;
    for (ll i = 0; i<v.size(); i++){
        cout<<v[i]<<' ';
    }
}

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

railway.cpp: In function 'int main()':
railway.cpp:68:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |     for (ll i = 0; i<v.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...