제출 #530056

#제출 시각아이디문제언어결과실행 시간메모리
530056Servus2022전선 연결 (IOI17_wiring)C++14
컴파일 에러
0 ms0 KiB
#include "wiring.h"
#include <bits/stdc++.h>
#include <cassert>
#include <cstdio>

using namespace std;

vector < pair <int,int> > v;
vector <int> nr[200005];
long long sum;
void cupleaza (int poz)
{
    int minim = 1e9;
    int unde=0,j;
    for (j=0;j<v.size();j++)
    {
        if (v[poz].second!=v[j].second)
        {
            if (abs(v[poz].first-v[j].first)<minim)
            {
                minim = abs(v[poz].first-v[j].first);
                unde = j;
            }
        }
    }
    sum=sum+minim;
    nr[unde].push_back(poz);
    nr[poz].push_back(unde);
}
long long min_total_length(std::vector<int> r, std::vector<int> b) {
    int i;
    for (i=0;i<r.size();i++)
    {
        v.push_back({r[i],0});
    }
    for (i=0;i<b.size();i++)
    {
        v.push_back({b[i],1});
    }
    sort (v.begin(),v.end());
    for (i=0;i<v.size();i++)
    {
        if (nr[i].size()==0)
        {
            cupleaza(i);
        }
    }
    return sum;
}
using namespace std;

int main() {
	int n, m;
	assert(2 == scanf("%d %d", &n, &m));

	vector<int> r(n), b(m);
	for(int i = 0; i < n; i++)
		assert(1 == scanf("%d", &r[i]));
	for(int i = 0; i < m; i++)
		assert(1 == scanf("%d", &b[i]));

	long long res = min_total_length(r, b);
	printf("%lld\n", res);

	return 0;
}

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

wiring.cpp: In function 'void cupleaza(int)':
wiring.cpp:15:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for (j=0;j<v.size();j++)
      |              ~^~~~~~~~~
wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:32:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for (i=0;i<r.size();i++)
      |              ~^~~~~~~~~
wiring.cpp:36:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for (i=0;i<b.size();i++)
      |              ~^~~~~~~~~
wiring.cpp:41:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     for (i=0;i<v.size();i++)
      |              ~^~~~~~~~~
/usr/bin/ld: /tmp/cc5DbrxZ.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cczv7a0Y.o:wiring.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status