Submission #4024512
Source Code Expand
#include <bits/stdc++.h> using namespace std; using ll = int64_t; using P = pair<ll, ll>; const ll INF = 5e15; const ll MOD = 1e9 + 7; ll N; struct Cost { ll cost; ll idx; bool A; Cost(ll c, ll i, bool A) : cost(c), idx(i), A(A) {} }; bool valid(const set<ll> &SA, const set<ll> &SB){ if(SA.empty() || SB.empty()) return true; set<ll> tmp; for(ll e : SA) tmp.insert(e); for(ll e : SB) tmp.insert(e); return tmp.size() != N; } int main(){ cin >> N; vector<Cost> v; for(ll i = 0; i < N; i++){ ll a, b; cin >> a >> b; v.push_back(Cost(a, i, true)); v.push_back(Cost(b, i, false)); } sort(v.begin(), v.end(), [](const auto &a, const auto &b){ return a.cost < b.cost; }); set<ll> SA, SB; ll ans = 0; for(ll i = 0; i < N; i++){ (v[i].A ? SA : SB).insert(v[i].idx); ans += v[i].cost; } if(!valid(SA, SB)){ if(v[N - 1].idx != v[N].idx){ ans -= v[N - 1].cost; ans += v[N].cost; }else{ ll v1 = v[N].cost - v[N - 2].cost; ll v2 = v[N + 1].cost - v[N - 1].cost; ans += min(v1, v2); } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Min Cost Cycle |
User | kcvlex |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1284 Byte |
Status | AC |
Exec Time | 153 ms |
Memory | 15596 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
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 | 100 ms | 10476 KB |
subtask01-03.txt | AC | 124 ms | 10604 KB |
subtask01-04.txt | AC | 2 ms | 384 KB |
subtask01-05.txt | AC | 92 ms | 9200 KB |
subtask01-06.txt | AC | 99 ms | 9068 KB |
subtask01-07.txt | AC | 121 ms | 9068 KB |
subtask01-08.txt | AC | 131 ms | 13548 KB |
subtask01-09.txt | AC | 90 ms | 8944 KB |
subtask01-10.txt | AC | 97 ms | 8688 KB |
subtask01-11.txt | AC | 105 ms | 8300 KB |
subtask01-12.txt | AC | 130 ms | 13292 KB |
subtask01-13.txt | AC | 70 ms | 7152 KB |
subtask01-14.txt | AC | 150 ms | 13420 KB |
subtask01-15.txt | AC | 128 ms | 10092 KB |
subtask01-16.txt | AC | 153 ms | 14828 KB |
subtask01-17.txt | AC | 148 ms | 15084 KB |
subtask01-18.txt | AC | 148 ms | 13932 KB |
subtask01-19.txt | AC | 129 ms | 10988 KB |
subtask01-20.txt | AC | 147 ms | 14700 KB |
subtask01-21.txt | AC | 152 ms | 15596 KB |
subtask01-22.txt | AC | 147 ms | 13164 KB |
subtask01-23.txt | AC | 129 ms | 10476 KB |
subtask01-24.txt | AC | 149 ms | 14316 KB |
subtask01-25.txt | AC | 150 ms | 14956 KB |