Submission #65019531


Source Code Expand

Copy
#ifndef _Alignof
#define _Alignof __alignof__
#endif
#include <bits/stdc++.h>
#include <numeric>
#define LOOP(n) for (int _i = 0; _i < (n); _i++)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define RREP(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, r, n) for (int i = (r); i < (n); ++i)
#define ALL(obj) begin(obj), end(obj)
#define yes "Yes"
#define no "No"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
typedef pair<int,ll> pil;
typedef vector<vector<int>> vvi;
typedef vector<vector<ll>> vvl;
const vector<char> alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#ifndef _Alignof
#define _Alignof __alignof__
#endif
#include <bits/stdc++.h>
#include <numeric>
#define LOOP(n) for (int _i = 0; _i < (n); _i++)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define RREP(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, r, n) for (int i = (r); i < (n); ++i)
#define ALL(obj) begin(obj), end(obj)
#define yes "Yes"
#define no "No"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<ll,int> pli;
typedef pair<int,ll> pil;
typedef vector<vector<int>> vvi;
typedef vector<vector<ll>> vvl;
const vector<char> alpha = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int dx[4] = {0, 1, 0, -1};
int dy[4] = {1, 0, -1, 0};
const ll INF = 1e18;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int N, X;
    if (!(cin >> N >> X)) return 0;
    vector<int> S(N), C(N), P(N);
    for (int i = 0; i < N; ++i) cin >> S[i] >> C[i] >> P[i];

    int M = 1 << N;
    vector<vector<double>> dp(M, vector<double>(X + 1, 0.0));

    FOR(m, 1, X + 1) {
        REP(mask, M) {
            double best = dp[mask][m - 1];          // 使わずに残す
            REP(i,N)if (!(mask & (1 << i)) && C[i] <= m) {
                double p = P[i] / 100.0;
                int next_mask = mask | (1 << i);
                int rest = m - C[i];
                double val = p * (S[i] + dp[next_mask][rest]) + (1.0 - p) * dp[mask][rest];
                if (val > best) best = val;
            }
            dp[mask][m] = best;
        }
    }
    cout << fixed << setprecision(10) << dp[0][X] << endl;
}

Submission Info

Submission Time
Task E - Payment Required
User una_o0
Language C++ 17 (gcc 12.2)
Score 450
Code Size 1706 Byte
Status AC
Exec Time 30 ms
Memory 13264 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 4
AC × 43
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 01_handmade_05.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt, 02_random_25.txt, 02_random_26.txt, 02_random_27.txt, 02_random_28.txt, 02_random_29.txt, 02_random_30.txt, 02_random_31.txt, 02_random_32.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3816 KiB
00_sample_01.txt AC 1 ms 3716 KiB
00_sample_02.txt AC 1 ms 3836 KiB
00_sample_03.txt AC 1 ms 3800 KiB
01_handmade_00.txt AC 1 ms 3872 KiB
01_handmade_01.txt AC 1 ms 3840 KiB
01_handmade_02.txt AC 1 ms 3936 KiB
01_handmade_03.txt AC 1 ms 3900 KiB
01_handmade_04.txt AC 18 ms 13096 KiB
01_handmade_05.txt AC 18 ms 13124 KiB
02_random_00.txt AC 2 ms 4080 KiB
02_random_01.txt AC 1 ms 3944 KiB
02_random_02.txt AC 2 ms 3776 KiB
02_random_03.txt AC 1 ms 3884 KiB
02_random_04.txt AC 1 ms 3992 KiB
02_random_05.txt AC 2 ms 4040 KiB
02_random_06.txt AC 1 ms 4040 KiB
02_random_07.txt AC 1 ms 3916 KiB
02_random_08.txt AC 2 ms 4148 KiB
02_random_09.txt AC 1 ms 3948 KiB
02_random_10.txt AC 17 ms 13096 KiB
02_random_11.txt AC 1 ms 3884 KiB
02_random_12.txt AC 18 ms 13264 KiB
02_random_13.txt AC 1 ms 3856 KiB
02_random_14.txt AC 25 ms 13052 KiB
02_random_15.txt AC 1 ms 3948 KiB
02_random_16.txt AC 24 ms 13056 KiB
02_random_17.txt AC 1 ms 3940 KiB
02_random_18.txt AC 17 ms 13180 KiB
02_random_19.txt AC 1 ms 3944 KiB
02_random_20.txt AC 19 ms 13044 KiB
02_random_21.txt AC 2 ms 3940 KiB
02_random_22.txt AC 26 ms 13044 KiB
02_random_23.txt AC 1 ms 3960 KiB
02_random_24.txt AC 30 ms 13108 KiB
02_random_25.txt AC 1 ms 3840 KiB
02_random_26.txt AC 18 ms 13112 KiB
02_random_27.txt AC 1 ms 3888 KiB
02_random_28.txt AC 18 ms 13048 KiB
02_random_29.txt AC 1 ms 3860 KiB
02_random_30.txt AC 18 ms 13036 KiB
02_random_31.txt AC 1 ms 3944 KiB
02_random_32.txt AC 19 ms 13016 KiB


2025-06-06 (Fri)
18:30:39 +09:00