제출 #1077764

#제출 시각아이디문제언어결과실행 시간메모리
1077764TB_전선 연결 (IOI17_wiring)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define fo(i, n) for(ll i = 0; i<(n); i++) #define F first #define S second #define pb push_back #define deb(x) cout << #x << " = " << (x) << endl #define deb2(x, y) cout << #x << " = " << (x) << ", " << #y << " = " << (y) << endl #define all(x) x.begin(), x.end() typedef vector<ll> vl; typedef pair<ll, ll> pl; typedef vector<pl> vpl; vector<unordered_map<ll, ll>> memo; ll n; vpl v; ll dp(ll pos, ll am, ll red = 1, ll changed = 0){ if(am>10) return 1e18; if(pos == n) return (am?1e18:0); if(memo[pos].count(red+changed*2+am*4)) return memo[pos][red+changed*2+am*4]; ll &ans = memo[pos][red+changed*2+am*4]; // deb2(pos, am); ans = 1e18; if(changed) ans = dp(pos+1, am, red)+(v[pos+1].F-v[pos].F)*am; if(am==0) ans = min(dp(pos, am+1, v[pos].S, 1), ans); else if(v[pos].S == red) ans = min(dp(pos, am+1, red, 1), ans); else ans = min(dp(pos, am-1, red, 1), ans); return ans; } long long min_total_length(std::vector<int> r, std::vector<int> b) { fo(i, r.size()){ v.pb({r[i], 1}); } fo(i, b.size()){ v.pb({b[i], 0}); } sort(all(v)); n = v.size(); v.pb(v[n-1]); memo.assign(n+1, {}); return dp(0, 0); } int main(){ cin.tie(0)->sync_with_stdio(0); // vector<int> a = {0}; // vector<int> b = {2}; vector<int> a = {1, 2, 3, 7}; vector<int> b = {0, 4, 5, 9, 10}; deb(min_total_length(a, b)); return 0; }

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

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:5:33: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define fo(i, n) for(ll i = 0; i<(n); i++)
      |                                 ^
wiring.cpp:38:5: note: in expansion of macro 'fo'
   38 |     fo(i, r.size()){
      |     ^~
wiring.cpp:5:33: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define fo(i, n) for(ll i = 0; i<(n); i++)
      |                                 ^
wiring.cpp:41:5: note: in expansion of macro 'fo'
   41 |     fo(i, b.size()){
      |     ^~
/usr/bin/ld: /tmp/ccmZascG.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccBYzXUF.o:wiring.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status