제출 #604252

#제출 시각아이디문제언어결과실행 시간메모리
604252jeroenodbJelly Flavours (IOI20_jelly)C++14
24 / 100
79 ms468 KiB
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

#include "jelly.h"
using namespace std;
#define D(a) \
    cout << #a ": " << (a) << ' ';
const int mxN=2001,maxV=10001;
int dp[maxV];
struct mypair {
    int first,second;
    bool operator<(const mypair& o) {
        if(min(first,second)==min(o.first,o.second)) {
            return max(first,second)<max(o.first,o.second);
        }
        return min(first,second) < min(o.first,o.second);
    }
};
int inner(int x, int y, vector<int>& a, vector<int>& b) {
    int n=a.size();
    vector<mypair> sw; sw.reserve(n);
    for(int i=0;i<n;++i){
        sw.push_back({a[i],b[i]});
    }
    sort(sw.begin(),sw.end());
    dp[0] = 0;
    for(int i=1;i<=x;++i) dp[i] = 1e9;
    for(int i=0;i<n;++i) {
        bool found = false;
        for(int j=x;j>=0;--j) {
            int tmp = dp[j]+sw[i].second;
            
            if(j-sw[i].first>=0) {
                dp[j] = dp[j-sw[i].first];
            } else {
                dp[j]=1e9;
            }
            dp[j] = min(dp[j],tmp);
            if(dp[j]<=y) found = true;
        }
        if(!found) return i;
    }
    return n;
}
int find_maximum_unique(int x, int y, vector<int> a, vector<int> b) {
    int tmp = inner(x, y, a, b);
    int tmp2= inner(y,x, b, a);
    return max(tmp,tmp2);
}
// int main() {
//     cout << find_maximum_unique(11,7,{0, 1, 2, 3, 4, 5, 6, 7, 8},{8, 1, 3, 2, 6, 5, 4, 7, 0}) << endl;
//     cout << find_maximum_unique(1,1,{1,2,3},{3,2,1}) << endl;
//     cout << find_maximum_unique(1,1,{1,2,3},{3,2,1}) << endl;
// }
#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...