提出 #22996180
ソースコード 拡げる
#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 2e5 + 5;
int n;
multiset<ll> st[3];
pair<ll, pair<ll, ll>> solve(int i, int j) {
ll ans = 1e18, mn;
for(auto &k : st[i]) {
auto it = st[j].lower_bound(k);
if(it != st[j].end()) {
if(*it - k < ans)
ans = *it - k, mn = *it;
}
if(it != st[j].begin()) {
it--;
if(k - *it < ans)
ans = k - *it, mn = *it;
}
}
return {ans, {mn, i}};
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> n;
for(int i = 0;i < 2 * n;i++) {
ll a;
char c;
cin >> a >> c;
if(c == 'R')
st[0].insert(a);
else if(c == 'G')
st[1].insert(a);
else
st[2].insert(a);
}
int sum = 0;
vector<int> v;
if(st[0].size() & 1)
v.push_back(0);
if(st[1].size() & 1)
sum++, v.push_back(1);
if(st[2].size() & 1)
sum += 2, v.push_back(2);
if(v.empty())
return cout << 0, 0;
ll ans = solve(v[0], v[1]).first;
ll cnt = 1e18;
if(sum == 0)
return 0;
if(st[3 - sum].size()) {
vector<pair<ll, pair<ll, int>>> mn;
mn.push_back(solve(v[0], 3 - sum));
mn.push_back(solve(v[1], 3 - sum));
sort(mn.begin(), mn.end());
cnt = mn[0].first;
st[3 - sum].erase(st[3 - sum].find(mn[0].second.first));
cnt += solve(mn[1].second.second, 3 - sum).first;
}
cout << min(ans, cnt);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | B - RGB Matching |
| ユーザ | abdelrahman001 |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 500 |
| コード長 | 1683 Byte |
| 結果 | AC |
| 実行時間 | 130 ms |
| メモリ | 12980 KiB |
コンパイルエラー
./Main.cpp: In function ‘std::pair<long long int, std::pair<long long int, long long int> > solve(int, int)’:
./Main.cpp:9:20: warning: ‘mn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
9 | ll ans = 1e18, mn;
| ^~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, random2_01.txt, random2_02.txt, random2_03.txt, random2_04.txt, random2_05.txt, random2_06.txt, random2_07.txt, random2_08.txt, random2_09.txt, random2_10.txt, random2_11.txt, random2_12.txt, random2_13.txt, random2_14.txt, random2_15.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt, random_30.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, random_35.txt, random_36.txt, random_37.txt, random_38.txt, random_39.txt, random_40.txt, random_41.txt, random_42.txt, random_43.txt, random_44.txt, random_45.txt, random_46.txt, random_47.txt, random_48.txt, random_49.txt, random_50.txt, random_51.txt, random_52.txt, random_53.txt, random_54.txt, random_55.txt, random_56.txt, random_57.txt, random_58.txt, random_59.txt, random_60.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand_01.txt | AC | 54 ms | 8220 KiB |
| hand_02.txt | AC | 47 ms | 8296 KiB |
| hand_03.txt | AC | 49 ms | 8124 KiB |
| hand_04.txt | AC | 48 ms | 8292 KiB |
| random2_01.txt | AC | 120 ms | 12944 KiB |
| random2_02.txt | AC | 118 ms | 12864 KiB |
| random2_03.txt | AC | 115 ms | 12980 KiB |
| random2_04.txt | AC | 117 ms | 12812 KiB |
| random2_05.txt | AC | 121 ms | 12872 KiB |
| random2_06.txt | AC | 13 ms | 4252 KiB |
| random2_07.txt | AC | 34 ms | 5696 KiB |
| random2_08.txt | AC | 52 ms | 7444 KiB |
| random2_09.txt | AC | 109 ms | 12012 KiB |
| random2_10.txt | AC | 52 ms | 7348 KiB |
| random2_11.txt | AC | 3 ms | 3680 KiB |
| random2_12.txt | AC | 4 ms | 3692 KiB |
| random2_13.txt | AC | 5 ms | 3568 KiB |
| random2_14.txt | AC | 3 ms | 3612 KiB |
| random2_15.txt | AC | 2 ms | 3656 KiB |
| random_01.txt | AC | 105 ms | 12860 KiB |
| random_02.txt | AC | 129 ms | 12940 KiB |
| random_03.txt | AC | 98 ms | 12944 KiB |
| random_04.txt | AC | 126 ms | 12856 KiB |
| random_05.txt | AC | 98 ms | 12880 KiB |
| random_06.txt | AC | 124 ms | 12912 KiB |
| random_07.txt | AC | 125 ms | 12968 KiB |
| random_08.txt | AC | 125 ms | 12900 KiB |
| random_09.txt | AC | 123 ms | 12912 KiB |
| random_10.txt | AC | 125 ms | 12968 KiB |
| random_11.txt | AC | 129 ms | 12976 KiB |
| random_12.txt | AC | 125 ms | 12896 KiB |
| random_13.txt | AC | 129 ms | 12872 KiB |
| random_14.txt | AC | 95 ms | 12860 KiB |
| random_15.txt | AC | 124 ms | 12880 KiB |
| random_16.txt | AC | 125 ms | 12932 KiB |
| random_17.txt | AC | 127 ms | 12944 KiB |
| random_18.txt | AC | 130 ms | 12980 KiB |
| random_19.txt | AC | 123 ms | 12972 KiB |
| random_20.txt | AC | 128 ms | 12908 KiB |
| random_21.txt | AC | 34 ms | 5640 KiB |
| random_22.txt | AC | 12 ms | 4056 KiB |
| random_23.txt | AC | 34 ms | 5648 KiB |
| random_24.txt | AC | 54 ms | 7248 KiB |
| random_25.txt | AC | 30 ms | 5832 KiB |
| random_26.txt | AC | 42 ms | 7304 KiB |
| random_27.txt | AC | 35 ms | 5796 KiB |
| random_28.txt | AC | 89 ms | 10436 KiB |
| random_29.txt | AC | 114 ms | 12048 KiB |
| random_30.txt | AC | 92 ms | 10360 KiB |
| random_31.txt | AC | 72 ms | 8828 KiB |
| random_32.txt | AC | 58 ms | 7648 KiB |
| random_33.txt | AC | 29 ms | 6144 KiB |
| random_34.txt | AC | 15 ms | 4540 KiB |
| random_35.txt | AC | 42 ms | 6000 KiB |
| random_36.txt | AC | 94 ms | 10776 KiB |
| random_37.txt | AC | 77 ms | 9184 KiB |
| random_38.txt | AC | 55 ms | 7588 KiB |
| random_39.txt | AC | 76 ms | 9248 KiB |
| random_40.txt | AC | 98 ms | 10796 KiB |
| random_41.txt | AC | 2 ms | 3624 KiB |
| random_42.txt | AC | 3 ms | 3592 KiB |
| random_43.txt | AC | 2 ms | 3640 KiB |
| random_44.txt | AC | 4 ms | 3536 KiB |
| random_45.txt | AC | 3 ms | 3624 KiB |
| random_46.txt | AC | 3 ms | 3680 KiB |
| random_47.txt | AC | 2 ms | 3548 KiB |
| random_48.txt | AC | 2 ms | 3656 KiB |
| random_49.txt | AC | 3 ms | 3612 KiB |
| random_50.txt | AC | 2 ms | 3524 KiB |
| random_51.txt | AC | 2 ms | 3600 KiB |
| random_52.txt | AC | 2 ms | 3548 KiB |
| random_53.txt | AC | 2 ms | 3608 KiB |
| random_54.txt | AC | 2 ms | 3484 KiB |
| random_55.txt | AC | 4 ms | 3676 KiB |
| random_56.txt | AC | 2 ms | 3444 KiB |
| random_57.txt | AC | 2 ms | 3664 KiB |
| random_58.txt | AC | 3 ms | 3624 KiB |
| random_59.txt | AC | 2 ms | 3524 KiB |
| random_60.txt | AC | 2 ms | 3544 KiB |
| sample_01.txt | AC | 2 ms | 3568 KiB |
| sample_02.txt | AC | 2 ms | 3496 KiB |
| sample_03.txt | AC | 2 ms | 3572 KiB |