提出 #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
結果
AC × 3
AC × 82
セット名 テストケース
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