Submission #8531725


Source Code Expand

#include "bits/stdc++.h"
using namespace std;
#ifdef _DEBUG
#include "dump.hpp"
#else
#define dump(...)
#endif

#define int long long
#define rep(i, a, b) for (int i = (a); i < (b); i++)
#define rrep(i, a, b) for (int i = (b)-1; i >= (a); i--)
#define all(c) begin(c), end(c)
const int INF =
    sizeof(int) == sizeof(long long) ? 0x3f3f3f3f3f3f3f3fLL : 0x3f3f3f3f;
const int MOD = 1000000007;
template <class T>
bool chmax(T &a, const T &b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}
template <class T>
bool chmin(T &a, const T &b) {
    if (b < a) {
        a = b;
        return true;
    }
    return false;
}

template <typename T>
vector<T> gen_v(size_t a) {
    return vector<T>(a);
}
template <typename T, typename... Ts>
auto gen_v(size_t a, Ts... ts) {
    return vector<decltype(gen_v<T>(ts...))>(a, gen_v<T>(ts...));
}
template <typename T, typename V>
typename enable_if<is_class<T>::value == 0>::type fill_v(T &t, const V &v) {
    t = v;
}
template <typename T, typename V>
typename enable_if<is_class<T>::value != 0>::type fill_v(T &t, const V &v) {
    for (auto &e : t) fill_v(e, v);
}

template <class T, class... Tail>
void tiedSort(vector<T> &a, vector<Tail> &... tail) {
    int n = a.size();
    using S = tuple<T, Tail...>;
    vector<S> s(n);
    for (int i = 0; i < n; i++) s[i] = make_tuple(a[i], tail[i]...);
    sort(s.begin(), s.end());
    for (int i = 0; i < n; i++) tie(a[i], tail[i]...) = s[i];
}

int solve(int N, int T, vector<int> A, vector<int> B) {
    tiedSort(A, B);
    reverse(all(A));
    reverse(all(B));
    int M = T + *max_element(all(A)) + 1;
    auto dp = gen_v<int>(M);
    fill_v(dp, -1);
    dp[0] = 0;

    rep(i, 0, N) {
        rrep(j, 0, T) {
            if (dp[j] == -1) continue;
            chmax(dp[j + A[i]], dp[j] + B[i]);
        }
    }
    dump(dp);
    return *max_element(all(dp));
}

signed main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    int N, T;
    cin >> N >> T;
    vector<int> A(N), B(N);
    rep(i, 0, N) { cin >> A[i] >> B[i]; }

    cout << solve(N, T, A, B) << endl;

    return 0;
}

Submission Info

Submission Time
Task C - おやつ
User minaminao
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2117 Byte
Status WA
Exec Time 39 ms
Memory 512 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 0 / 50 0 / 50
Status
AC × 3
AC × 12
WA × 5
AC × 13
WA × 25
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_00.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask2_00.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.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
subtask1_00.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt WA 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt WA 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt WA 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt WA 1 ms 256 KB
subtask1_12.txt WA 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask2_00.txt WA 5 ms 256 KB
subtask2_01.txt WA 8 ms 384 KB
subtask2_02.txt WA 28 ms 384 KB
subtask2_03.txt WA 5 ms 256 KB
subtask2_04.txt WA 9 ms 512 KB
subtask2_05.txt WA 22 ms 384 KB
subtask2_06.txt WA 2 ms 256 KB
subtask2_07.txt WA 5 ms 256 KB
subtask2_08.txt WA 2 ms 256 KB
subtask2_09.txt WA 8 ms 384 KB
subtask2_10.txt WA 39 ms 512 KB
subtask2_11.txt WA 39 ms 512 KB
subtask2_12.txt WA 39 ms 512 KB
subtask2_13.txt WA 39 ms 512 KB
subtask2_14.txt WA 39 ms 512 KB
subtask2_15.txt WA 39 ms 512 KB
subtask2_16.txt WA 39 ms 512 KB
subtask2_17.txt WA 39 ms 512 KB
subtask2_18.txt WA 39 ms 512 KB
subtask2_19.txt WA 39 ms 512 KB