提出 #76464572


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define LONGMAX 1e18
#define INTMAX 2147483647

int main(void)
{
    ll N, K, M;
    cin >> N >> K >> M;
    vector<ll> C(N, 0), V(N, 0);
    priority_queue<pair<ll, ll>> all;
    priority_queue<ll> remain;
    for (ll i = 0; i < N; i++)
    {
        cin >> C[i] >> V[i];
        all.push({V[i], C[i]});
    }
    set<ll> colors;
    ll ans = 0;
    while (colors.size() < M)
    {
        pair<ll, ll> p = all.top();
        ll value = p.first;
        ll color = p.second;
        all.pop();
        if (colors.count(color) == 0)
        {
            // はじめてみる色なので追加
            colors.insert(color);
            ans += value;
        }
        else
        {
            // 用済みの色ならremainに追加
            remain.push(value);
        }
    }
    // allに残ってる他の要素をremainに移す
    while (all.size() != 0)
    {
        pair<ll, ll> p = all.top();
        ll value = p.first;
        ll color = p.second;
        all.pop();
        remain.push(value);
    }
    // assert(!remain.empty());
    for (ll i = 0, n = K - M; i < n; i++)
    {
        ans += remain.top();
        remain.pop();
    }
    cout << ans << endl;
    return 0;
}

提出情報

提出日時
問題 C - Variety
ユーザ lalashvbp
言語 C++23 (GCC 15.2.0)
得点 300
コード長 1325 Byte
結果 AC
実行時間 145 ms
メモリ 19000 KiB

コンパイルエラー

./Main.cpp: In function 'int main()':
./Main.cpp:21:26: warning: comparison of integer expressions of different signedness: 'std::set<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   21 |     while (colors.size() < M)
      |            ~~~~~~~~~~~~~~^~~
./Main.cpp:44:12: warning: unused variable 'color' [-Wunused-variable]
   44 |         ll color = p.second;
      |            ^~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 23
セット名 テストケース
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, sample-01.txt, sample-02.txt, sample-03.txt
ケース名 結果 実行時間 メモリ
04.txt AC 1 ms 3488 KiB
05.txt AC 97 ms 13136 KiB
06.txt AC 139 ms 18900 KiB
07.txt AC 89 ms 15052 KiB
08.txt AC 1 ms 3536 KiB
09.txt AC 1 ms 3664 KiB
10.txt AC 3 ms 3864 KiB
11.txt AC 54 ms 8572 KiB
12.txt AC 145 ms 15364 KiB
13.txt AC 133 ms 14732 KiB
14.txt AC 145 ms 15604 KiB
15.txt AC 126 ms 14480 KiB
16.txt AC 111 ms 13560 KiB
17.txt AC 132 ms 14136 KiB
18.txt AC 123 ms 13432 KiB
19.txt AC 139 ms 14588 KiB
20.txt AC 133 ms 13888 KiB
21.txt AC 107 ms 13084 KiB
22.txt AC 106 ms 19000 KiB
23.txt AC 138 ms 15004 KiB
sample-01.txt AC 1 ms 3584 KiB
sample-02.txt AC 1 ms 3492 KiB
sample-03.txt AC 1 ms 3432 KiB