Submission #1311963

#TimeUsernameProblemLanguageResultExecution timeMemory
1311963norrawichzzzJelly Flavours (IOI20_jelly)C++20
0 / 100
6 ms456 KiB
#include <bits/stdc++.h>
using namespace std;


int find_maximum_unique(int x, int y, vector<int> a, vector<int> b) {
    int n=a.size();

    vector<pair<int, pair<int,int>>> dp(n+1);
    dp[0] = {0, {0, 0}};

    
    for (int i=1; i<=n; i++) {
        int ca=a[i-1], cb=b[i-1];
        dp[i] = dp[i-1];
        for (int j=0; j<i; j++) {
            int pa=dp[j].second.first, pb=dp[j].second.second;
            if (ca + pa <= x) {
                if (dp[i].first <= dp[j].first+1) {
                    dp[i] = dp[j];
                    dp[i].first++;
                    dp[i].second.first = ca + pa;
                }
                //else if (dp[i].first == dp[j].first+1) {
            }
            if (cb + pb <= y) {
                if (dp[i].first <= dp[j].first+1) {
                    dp[i] = dp[j];
                    dp[i].first++;
                    dp[i].second.second= cb + pb;
                }
            }
        }
    }
    //cout<< dp[n].second.first<< ' '<< dp[n].second.second<< ' ';
    return dp[n].first;
}
/*
int main() {
    int n,x,y;
    cin>> n>> x>> y;

    vector<int> a(n), b(n);
    for (int i=0; i<n; i++) cin>> a[i];
    for (int i=0; i<n; i++) cin>> b[i];

    cout<< find_maximum_unique(x, y, a, b);
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...