Submission #3589614
Source Code Expand
#include <bits/stdc++.h> #define MAX_N 100000 using namespace std; typedef long long lint; const lint sqrInf = (1e18) - 1; lint rez; int n; int v[(MAX_N << 1) + 1]; lint sum[(MAX_N << 1) + 1]; int a[MAX_N + 1]; int b[MAX_N + 1]; int cate(int i, int a, int b) { //cout << "NUMARAM " << v[i] << " " << a << " " << b << "\n"; if(v[i] < a) return i; if(v[i] >= a && v[i] < b) return i - 1; return i - 2; } lint cautBin(int a, int b) { if(a > b) swap(a, b); int i = 0; int pas = 1 << 17; while(pas != 0) { if(i + pas <= (n << 1) && cate(i + pas, a, b) < n) i += pas; pas >>= 1; } // cout << "ELEM " << a << " SI " << b << "\n"; // cout << "SUNTEM " << i + 1 << " AVEM " << cate(i + 1, a , b) << " SUMA " << sum[i + 1] << " SCAD " << a * (v[i + 1] >= a) << " " << b * (v[i + 1] >= b) << "\n"; if(i < (n << 1) && cate(i + 1, a, b) == n) { return sum[i + 1] - a * (v[i + 1] >= a) - b * (v[i + 1] >= b); } return sqrInf; } int main() { cin >> n; int i; int k = 0; lint sa = 0, sb = 0; for(i = 1; i <= n; i ++) { cin >> a[i] >> b[i]; v[++ k] = a[i]; v[++ k] = b[i]; sa += a[i]; sb += b[i]; } sort(v + 1, v + k + 1); for(int i = 1; i <= k; i ++) { sum[i] = sum[i - 1] + v[i]; // cout << v[i] << " "; } // cout << "\n"; rez = min(sa, sb); for(i = 1; i <= n; i ++) rez = min(rez, cautBin(a[i], b[i])); cout << rez << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Min Cost Cycle |
User | Coroian_David |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1687 Byte |
Status | AC |
Exec Time | 130 ms |
Memory | 3328 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 | 89 ms | 2432 KB |
subtask01-03.txt | AC | 124 ms | 3328 KB |
subtask01-04.txt | AC | 2 ms | 256 KB |
subtask01-05.txt | AC | 82 ms | 2304 KB |
subtask01-06.txt | AC | 85 ms | 2304 KB |
subtask01-07.txt | AC | 121 ms | 3200 KB |
subtask01-08.txt | AC | 112 ms | 3072 KB |
subtask01-09.txt | AC | 79 ms | 2176 KB |
subtask01-10.txt | AC | 82 ms | 2304 KB |
subtask01-11.txt | AC | 106 ms | 2816 KB |
subtask01-12.txt | AC | 110 ms | 2944 KB |
subtask01-13.txt | AC | 64 ms | 1792 KB |
subtask01-14.txt | AC | 126 ms | 3328 KB |
subtask01-15.txt | AC | 128 ms | 3328 KB |
subtask01-16.txt | AC | 127 ms | 3328 KB |
subtask01-17.txt | AC | 128 ms | 3328 KB |
subtask01-18.txt | AC | 126 ms | 3328 KB |
subtask01-19.txt | AC | 128 ms | 3328 KB |
subtask01-20.txt | AC | 127 ms | 3328 KB |
subtask01-21.txt | AC | 129 ms | 3328 KB |
subtask01-22.txt | AC | 127 ms | 3328 KB |
subtask01-23.txt | AC | 130 ms | 3328 KB |
subtask01-24.txt | AC | 128 ms | 3328 KB |
subtask01-25.txt | AC | 127 ms | 3328 KB |