Submission #2082242


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int n;
ll x[20],c[20],v[20],flag[20],flag2[20];
ll ans;

void solve(ll al,ll nowp,ll now){

    if (now == n) {
        ans = max(nowp,ans);
        return;
    }

    ll m = 0;
    int memo;
    int w;

    for(int i = 0;i < n;i++){
        if (c[i] <= al && v[i] > m && flag[i]) {
            m = v[i];
            memo = i;
        }
    }

    if (m != 0) {
        nowp += m;
        flag[memo] = false;
    }else{
        for(int i = 0;i < n;i++){
            if(flag2[i]) {
                w=i;
                al += x[i];
                break;
            }
        }

        ll n = 0;
        int memo2;
        for(int i = 0;i < n;i++){
            if (al >= c[i] && v[i] > n && flag[i]){
                n = v[i];
                memo2 = i;
            }
        }
        if(n != 0){
            flag[memo2] = false;
        }else{
            ll q = al + x[w+1];
            ll l = 0;
            int memo3;
            for(int i = 0;i < n;i++){
                if (q >= c[i] && v[i] > l && flag[i]){
                    l = v[i];
                    memo3 = i;
                }
            }
            if (l != 0){
                flag[memo3] = false;
            }else{
                ll k;
                int memo4;
                for(int i = 0;i < n;i++){
                    if (k > c[i] && flag[i]) {
                        k = c[i];
                        memo4 = i;
                    }
                }
                flag[memo4] = false; 
            }
        }
    }

    solve(al,nowp,now+1);

}

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

    cin >> n;

    for(int i = 0;i < n;i++){
        cin >> x[i];
    } 
    for(int i = 0;i < n;i++){
        cin >> c[i];
    }   
    for(int i = 0;i < n;i++){
        cin >> v[i];
    }
    for(int i = 0;i < n;i++){
        flag[i] = true;
    }
    for(int i = 0;i < n;i++){
        flag2[i] = true;
    }

    solve(0,0,0);

    cout << ans << endl;

    return 0;

}

Submission Info

Submission Time
Task C - 駆引取引
User Iko
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2151 Byte
Status WA
Exec Time 2 ms
Memory 384 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 500
Status
AC × 2
WA × 2
AC × 4
WA × 39
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 01.txt, 02.txt, 03.txt, 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, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt
Case Name Status Exec Time Memory
00_example_01.txt WA 1 ms 256 KiB
00_example_02.txt AC 1 ms 256 KiB
00_example_03.txt AC 1 ms 256 KiB
00_example_04.txt WA 1 ms 256 KiB
01.txt WA 1 ms 256 KiB
02.txt WA 1 ms 256 KiB
03.txt WA 1 ms 256 KiB
04.txt WA 1 ms 256 KiB
05.txt WA 1 ms 256 KiB
06.txt WA 1 ms 256 KiB
07.txt WA 1 ms 256 KiB
08.txt WA 1 ms 256 KiB
09.txt WA 1 ms 256 KiB
10.txt WA 1 ms 256 KiB
11.txt WA 1 ms 256 KiB
12.txt WA 1 ms 256 KiB
13.txt WA 1 ms 256 KiB
14.txt WA 2 ms 384 KiB
15.txt WA 1 ms 256 KiB
16.txt WA 1 ms 256 KiB
17.txt WA 1 ms 256 KiB
18.txt WA 1 ms 256 KiB
19.txt WA 1 ms 256 KiB
20.txt WA 1 ms 256 KiB
21.txt WA 1 ms 256 KiB
22.txt WA 1 ms 256 KiB
23.txt AC 1 ms 256 KiB
24.txt WA 1 ms 256 KiB
25.txt WA 1 ms 256 KiB
26.txt WA 1 ms 256 KiB
27.txt WA 1 ms 256 KiB
28.txt WA 1 ms 256 KiB
29.txt AC 1 ms 256 KiB
30.txt WA 1 ms 256 KiB
31.txt WA 1 ms 256 KiB
32.txt WA 1 ms 256 KiB
33.txt WA 1 ms 256 KiB
34.txt WA 1 ms 256 KiB
35.txt WA 1 ms 256 KiB
36.txt WA 1 ms 256 KiB
37.txt WA 1 ms 256 KiB
38.txt WA 1 ms 256 KiB
39.txt WA 1 ms 256 KiB