Submission #1257482

#TimeUsernameProblemLanguageResultExecution timeMemory
1257482ThylOneWiring (IOI17_wiring)C++20
0 / 100
0 ms328 KiB
#include "wiring.h" #include <bits/stdc++.h> using namespace std; long long min_total_length(std::vector<int> r, std::vector<int> b) { long long ans = 0; vector<pair<int, bool>> boxes; for(auto red:r)boxes.emplace_back(red,false); for(auto blue:b)boxes.emplace_back(blue, true); sort(boxes.begin(), boxes.end()); stack<pair<int,bool>> S; int last[2] = {-1,-1}; for(int i = 0;i < boxes.size() ; i++){ last[boxes[i].second] = boxes[i].first; if(S.empty()){ S.push(boxes[i]); }else if(S.top().second != boxes[i].second){ ans += boxes[i].first - S.top().first; S.pop(); }else{ S.push(boxes[i]); } } while(!S.empty()){ ans += S.top().first - last[!S.top().second]; S.pop(); } return ans; }
#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...