제출 #420362

#제출 시각아이디문제언어결과실행 시간메모리
420362AugustinasJucas전선 연결 (IOI17_wiring)C++14
0 / 100
1 ms204 KiB
#include <bits/stdc++.h> #include "wiring.h" using namespace std; vector<int> r, b; const int inf = 1e9; long long linf = 1e18; pair<int, int> closest(int a, vector<int> &b){ auto desn = lower_bound(b.begin(), b.end(), a) - b.begin(); if(desn == (int)b.size()){ return {b[desn-1], inf}; }else if(desn == 0){ return {-inf, b[desn]}; }else{ return {b[desn-1], b[desn]}; } } long long min_total_length(vector<int> R, vector<int> B) { vector<pair<int, int> > visi; long long pl = 0; for(auto x : R) visi.push_back({x, 0}); for(auto x : B) visi.push_back({x, 1}); sort(visi.begin(), visi.end()); for(int i = 0; i < (int) visi.size(); i++){ if((i == 0 && visi[1].second == visi[0].second) || (i == (int)visi.size()-1 && visi[visi.size()-2].second == visi[visi.size()-1].second) || (i != 0 && i != visi.size()-1 && visi[i-1].second == visi[i+1].second && visi[i].second == visi[i+1].second)){ pair<int, int> pos; if(visi[i].second == 0) pos = closest(visi[i].first, B); if(visi[i].second == 1) pos = closest(visi[i].first, R); pl += min(abs(pos.first - visi[i].first), abs(pos.second - visi[i].first)); continue; } if(visi[i].second == 0) r.push_back(visi[i].first); else b.push_back(visi[i].first); } //cout << "r[0] = " << r[0] << ", b[0] = " << b[0] << endl; pl += abs(r[0] - b[0]); return pl; }

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

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:26:156: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |   if((i == 0 && visi[1].second == visi[0].second) || (i == (int)visi.size()-1 && visi[visi.size()-2].second == visi[visi.size()-1].second) || (i != 0 && i != visi.size()-1 && visi[i-1].second == visi[i+1].second && visi[i].second == visi[i+1].second)){
      |                                                                                                                                                          ~~^~~~~~~~~~~~~~~~
#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...