제출 #845035

#제출 시각아이디문제언어결과실행 시간메모리
845035alexdd시간이 돈 (balkan11_timeismoney)C++17
45 / 100
3 ms604 KiB
#include<bits/stdc++.h>
using namespace std;
int n,m;
pair<pair<int,int>,pair<int,int>> edges[10005];

int father[300];
int siz[300];
int gas(int x)
{
    if(x!=father[x])
        father[x]=gas(father[x]);
    return father[x];
}
void unite(int x, int y)
{
    x = gas(x);
    y = gas(y);
    if(x==y)
        return;
    if(siz[x]<siz[y])
        swap(x,y);
    father[y]=x;
    siz[x]+=siz[y];
}
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);

    cin>>n>>m;
    for(int i=0;i<n;i++)
        father[i]=i,siz[i]=1;
    for(int i=0;i<m;i++)
    {
        cin>>edges[i].second.first>>edges[i].second.second>>edges[i].first.first>>edges[i].first.second;
    }
    sort(edges,edges+m);
    int sum0=0,sum1=0;
    vector<pair<int,int>> sol;
    for(int i=0;i<m;i++)
    {
        if(gas(edges[i].second.first)!=gas(edges[i].second.second))
        {
            unite(edges[i].second.first,edges[i].second.second);
            sol.push_back(edges[i].second);
            sum0+=edges[i].first.first;
            sum1+=edges[i].first.second;
        }
    }
    cout<<sum0<<" "<<sum1<<"\n";
    for(int i=0;i<sol.size();i++)
        cout<<sol[i].first<<" "<<sol[i].second<<"\n";
    return 0;
}

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

timeismoney.cpp: In function 'int main()':
timeismoney.cpp:50:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for(int i=0;i<sol.size();i++)
      |                 ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...