Submission #4021029


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vector<int>> vvi;
typedef vector<vector<ll>> vvl;

struct N {
  int i, val;
  bool a;
};
bool operator<(const N &l, const N &r) { return l.val < r.val; }

int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<N> v(n * 2);
  vi a(n), b(n);
  for (int i = 0; i < n; i++) {
    cin >> v[i * 2].val >> v[i * 2 + 1].val;
    a[i] = v[i * 2].val;
    b[i] = v[i * 2 + 1].val;
    v[i * 2].i = i;
    v[i * 2 + 1].i = i;
    v[i * 2].a = true;
    v[i * 2 + 1].a = false;
  }
  ll ans = 0;
  ll sa = 0, sb = 0;
  for (int i = 0; i < n; i++) {
    sa += v[i * 2].val;
    sb += v[i * 2 + 1].val;
  }
  ans = min(sa, sb);
  vi count(n);
  sort(v.begin(), v.end());
  for (int i = 0; i < n; i++)
    count[v[i].i]++;
  bool ok = false;
  for (int i = 0; i < n; i++) {
    if (count[i] == 2)
      ok = true;
  }
  if (ok) {
    ll sum = 0;
    for (int i = 0; i < n; i++)
      sum += v[i].val;
    ans = min(ans, sum);
  } else {
    ll sum = 0;
    for (int i = 0; i < n; i++)
      sum += v[i].val;
    for (int i = 0; i < n; i++) {
      int k = 0;
      ll sc = sum;
      if (v[n - 1].val >= a[i]) {
        k++;
        sc -= a[i];
      }
      if (v[n - 1].val >= b[i]) {
        k++;
        sc -= b[i];
      }
      while (k) {
        sc += v[n + k - 1].val;
        k--;
      }
      ans = min(ans, sc);
    }
  }
  cout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task C - Min Cost Cycle
User ninja7
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1601 Byte
Status WA
Exec Time 38 ms
Memory 3840 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 700
Status
AC × 3
AC × 25
WA × 6
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, sample-01.txt, sample-02.txt, sample-03.txt, subtask01-01.txt, subtask01-02.txt, subtask01-03.txt, subtask01-04.txt, subtask01-05.txt, subtask01-06.txt, subtask01-07.txt, subtask01-08.txt, subtask01-09.txt, subtask01-10.txt, subtask01-11.txt, subtask01-12.txt, subtask01-13.txt, subtask01-14.txt, subtask01-15.txt, subtask01-16.txt, subtask01-17.txt, subtask01-18.txt, subtask01-19.txt, subtask01-20.txt, subtask01-21.txt, subtask01-22.txt, subtask01-23.txt, subtask01-24.txt, subtask01-25.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB
subtask01-01.txt AC 1 ms 256 KB
subtask01-02.txt AC 26 ms 2688 KB
subtask01-03.txt AC 36 ms 3712 KB
subtask01-04.txt AC 1 ms 256 KB
subtask01-05.txt WA 24 ms 2560 KB
subtask01-06.txt AC 25 ms 2688 KB
subtask01-07.txt AC 35 ms 3584 KB
subtask01-08.txt AC 34 ms 3328 KB
subtask01-09.txt WA 23 ms 2432 KB
subtask01-10.txt AC 24 ms 2560 KB
subtask01-11.txt AC 31 ms 3200 KB
subtask01-12.txt AC 33 ms 3328 KB
subtask01-13.txt WA 19 ms 2048 KB
subtask01-14.txt AC 37 ms 3840 KB
subtask01-15.txt AC 37 ms 3840 KB
subtask01-16.txt AC 37 ms 3840 KB
subtask01-17.txt WA 37 ms 3840 KB
subtask01-18.txt AC 37 ms 3840 KB
subtask01-19.txt AC 37 ms 3840 KB
subtask01-20.txt AC 38 ms 3840 KB
subtask01-21.txt WA 38 ms 3840 KB
subtask01-22.txt AC 37 ms 3840 KB
subtask01-23.txt AC 37 ms 3840 KB
subtask01-24.txt AC 38 ms 3840 KB
subtask01-25.txt WA 38 ms 3840 KB