Submission #103861

#TimeUsernameProblemLanguageResultExecution timeMemory
103861E869120Palembang Bridges (APIO15_bridge)C++14
0 / 100
3 ms384 KiB
#include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; long long K, N, M, L[100009], R[100009], cnt; long long solve_1() { vector<long long>X; map<long long, long long>Map; for (int i = 0; i < M; i++) { X.push_back(L[i]); X.push_back(R[i]); Map[L[i]] += 2; Map[R[i]] += 2; } sort(X.begin(), X.end()); X.erase(unique(X.begin(), X.end()), X.end()); long long cx = 0, sum = 0, minx = (1LL << 60), dep = -M * 2; for (int i = 0; i < M; i++) sum += L[i] + R[i]; for (int i = 0; i < X.size(); i++) { sum += (X[i] - cx) * dep; minx = min(minx, sum); dep += Map[X[i]]; cx = X[i]; } return minx; } long long solve_2() { return 0; } int main() { cin >> K >> N; for (int i = 0; i < N; i++) { char c1, c2; int cl, cr; cin >> c1 >> cl >> c2 >> cr; if (c1 != c2 && cl != cr) { if (cl > cr) swap(cl, cr); L[M] = cl; R[M] = cr; cnt++; M++; } else cnt += 1LL * abs(cl - cr); } if (K == 1) { cout << solve_1() + cnt << endl; } if (K == 2) { cout << solve_2() + cnt << endl; } return 0; }

Compilation message (stderr)

bridge.cpp: In function 'long long int solve_1()':
bridge.cpp:22:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < X.size(); i++) {
                  ~~^~~~~~~~~~
#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...