Submission #51167

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
511672018-06-17 03:17:14aomeWiring (IOI17_wiring)C++17
100 / 100
124 ms15520 KiB
#include <bits/stdc++.h>
#include "wiring.h"
using namespace std;
const long long INF = 1e18;
vector< vector<int> > group;
vector< vector<long long> > sum, dp;
vector< pair<int, int> > vec;
void upd(long long &x, long long y) { x = min(x, y); }
inline long long get(int id, int l, int r) {
return sum[id][r] - sum[id][l - 1];
}
long long min_total_length(vector<int> r, vector<int> b) {
for (auto i : r) vec.push_back({i, 0});
for (auto i : b) vec.push_back({i, 1});
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); ++i) {
int j = i;
int id = group.size();
group.push_back(vector<int>());
sum.push_back(vector<long long>());
dp.push_back(vector<long long>());
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:23:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < vec.size(); ++i) {
                  ~~^~~~~~~~~~~~
wiring.cpp:31:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while (j < vec.size() && vec[j].second == vec[i].second) {
          ~~^~~~~~~~~~~~
wiring.cpp:56:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (sz - j <= group[i + 1].size()) {
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
wiring.cpp:67:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...