提出 #60527756


ソースコード 拡げる

/**
 *    author:  [itmo] enot110
 *    created: 2024-12-07 12:40:39
**/
#include <bits/stdc++.h>

#define F first
#define S second
#define pb push_back
#define forn(i, n) for(int i = 0 ; (i) < (n) ; ++i)
#define eprintf(...) fprintf(stderr, __VA_ARGS__),fflush(stderr)
#define sz(a) ((int)(a).size())
#define all(a) (a).begin(),a.end()
#define pw(x) (1LL<<(x))

using namespace std;

typedef long long ll;
typedef double dbl;
typedef vector<int> vi;
typedef pair<int, int> pi;

const int inf = 1.01e9;
const dbl eps = 1e-9;

/* --- main part --- */


const int N = 510;
const int M = 50010;

ll d[2][M];

vector<pi> v[N];

int main()
{
    #ifdef home
        assert(freopen("in", "r", stdin));
        // assert(freopen("out", "w", stdout));
    #endif

    int n, m, k;
    scanf("%d%d%d", &n, &m, &k);
    forn(i, n)
    {
        int p, u, c;
        scanf("%d%d%d", &p, &u, &c);
        --c;
        v[c].pb({p, u});
    }

    forn(ii, n)
    {
        for (auto t : v[ii])
        {
            int p = t.F;
            int u = t.S;
            for (int i = m - p; i >= 0; i--)
            {
                d[1][i + p] = max(d[1][i + p], d[0][i] + u + k);
                d[1][i + p] = max(d[1][i + p], d[1][i] + u);
            }
        }
        /*eprintf("added color %d\n", ii);
        forn(i, m + 1) eprintf("%lld%c", d[0][i], " \n"[i == m]);
        forn(i, m + 1) eprintf("%lld%c", d[1][i], " \n"[i == m]);
        */
        forn(i, m + 1)
        {
            d[0][i] = max(d[0][i], d[1][i]);
            d[1][i] = 0;
        }
    }

    printf("%lld\n", d[0][m]);



    #ifdef home
        eprintf("time = %d ms\n", (int)(clock() * 1000. / CLOCKS_PER_SEC));
    #endif
    return 0;
}

提出情報

提出日時
問題 F - Diversity
ユーザ enot110
言語 C++ 23 (gcc 12.2)
得点 525
コード長 1791 Byte
結果 AC
実行時間 37 ms
メモリ 4660 KiB

コンパイルエラー

Main.cpp: In function ‘int main()’:
Main.cpp:44:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   44 |     scanf("%d%d%d", &n, &m, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:48:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   48 |         scanf("%d%d%d", &p, &u, &c);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 525 / 525
結果
AC × 3
AC × 58
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt, 01_test_49.txt, 01_test_50.txt, 01_test_51.txt, 01_test_52.txt, 01_test_53.txt, 01_test_54.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3632 KiB
00_sample_01.txt AC 1 ms 3772 KiB
00_sample_02.txt AC 1 ms 3888 KiB
01_test_00.txt AC 1 ms 3696 KiB
01_test_01.txt AC 1 ms 3696 KiB
01_test_02.txt AC 2 ms 3708 KiB
01_test_03.txt AC 8 ms 4464 KiB
01_test_04.txt AC 3 ms 4400 KiB
01_test_05.txt AC 32 ms 4468 KiB
01_test_06.txt AC 17 ms 4320 KiB
01_test_07.txt AC 17 ms 4124 KiB
01_test_08.txt AC 11 ms 3984 KiB
01_test_09.txt AC 22 ms 4240 KiB
01_test_10.txt AC 12 ms 4008 KiB
01_test_11.txt AC 35 ms 4612 KiB
01_test_12.txt AC 32 ms 4324 KiB
01_test_13.txt AC 2 ms 3808 KiB
01_test_14.txt AC 2 ms 3780 KiB
01_test_15.txt AC 2 ms 3916 KiB
01_test_16.txt AC 32 ms 4420 KiB
01_test_17.txt AC 31 ms 4376 KiB
01_test_18.txt AC 32 ms 4188 KiB
01_test_19.txt AC 31 ms 4204 KiB
01_test_20.txt AC 31 ms 4228 KiB
01_test_21.txt AC 31 ms 4480 KiB
01_test_22.txt AC 30 ms 4344 KiB
01_test_23.txt AC 15 ms 4344 KiB
01_test_24.txt AC 2 ms 3784 KiB
01_test_25.txt AC 30 ms 4652 KiB
01_test_26.txt AC 37 ms 4488 KiB
01_test_27.txt AC 36 ms 4512 KiB
01_test_28.txt AC 18 ms 4196 KiB
01_test_29.txt AC 31 ms 4332 KiB
01_test_30.txt AC 28 ms 4352 KiB
01_test_31.txt AC 37 ms 4660 KiB
01_test_32.txt AC 35 ms 4516 KiB
01_test_33.txt AC 31 ms 4324 KiB
01_test_34.txt AC 17 ms 4236 KiB
01_test_35.txt AC 31 ms 4308 KiB
01_test_36.txt AC 31 ms 4540 KiB
01_test_37.txt AC 21 ms 4192 KiB
01_test_38.txt AC 20 ms 4240 KiB
01_test_39.txt AC 24 ms 4252 KiB
01_test_40.txt AC 24 ms 4192 KiB
01_test_41.txt AC 30 ms 4408 KiB
01_test_42.txt AC 30 ms 4296 KiB
01_test_43.txt AC 33 ms 4356 KiB
01_test_44.txt AC 34 ms 4328 KiB
01_test_45.txt AC 25 ms 4332 KiB
01_test_46.txt AC 25 ms 4276 KiB
01_test_47.txt AC 31 ms 4400 KiB
01_test_48.txt AC 31 ms 4292 KiB
01_test_49.txt AC 3 ms 3720 KiB
01_test_50.txt AC 3 ms 3640 KiB
01_test_51.txt AC 2 ms 3792 KiB
01_test_52.txt AC 2 ms 3692 KiB
01_test_53.txt AC 13 ms 4036 KiB
01_test_54.txt AC 13 ms 3932 KiB