이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho
#include "jelly.h"
using ll=long long;
using ld=long double;
int const INF=1000000005;
ll const LINF=1000000000000000005;
ll const mod=1000000007;
ld const PI=3.14159265359;
ll const MAX_N=3e5+5;
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define endl '\n'
#define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
pair<ll,ll>dp1[2005][10005],dp2[2005][10005];
int find_maximum_unique(int x,int y,vector<int>a,vector<int>b){
ll n=a.size();
for(ll i=0;i<n;i++)
{
for(ll j=x-a[i];j>=0;j--)
{
dp1[i+1][j+a[i]]=dp1[i][j+a[i]];
if(dp1[i][j+a[i]].s+b[i]<=y){
dp1[i+1][j+a[i]].f++;
dp1[i+1][j+a[i]].s+=b[i];
}
if(dp1[i][j].f>dp1[i+1][j+a[i]].f){
dp1[i+1][j+a[i]]=dp1[i][j];
dp1[i+1][j+a[i]].f++;
}else if(dp1[i][j].f+1==dp1[i+1][j+a[i]].f){
dp1[i+1][j+a[i]].s=min(dp1[i+1][j+a[i]].s,dp1[i][j].s);
}
}
for(ll j=y-b[i];j>=0;j--)
{
dp2[i+1][j+b[i]]=dp2[i][j+b[i]];
if(dp2[i][j+b[i]].s+a[i]<=x){
dp2[i+1][j+b[i]].f++;
dp2[i+1][j+b[i]].s+=a[i];
}
if(dp2[i][j].f>dp2[i+1][j+b[i]].f){
dp2[i+1][j+b[i]]=dp2[i][j];
dp2[i+1][j+b[i]].f++;
}else if(dp2[i][j].f+1==dp2[i+1][j+b[i]].f){
dp2[i+1][j+b[i]].s=min(dp2[i+1][j+b[i]].s,dp2[i][j].s);
}
}
}
ll ans=0;
for(ll i=0;i<=x;i++)
{
ans=max(ans,dp1[n][i].f);
}
for(ll i=0;i<=y;i++)
{
ans=max(ans,dp2[n][i].f);
}
return ans;
}
/*
int32_t main(){
CODE_START;
#ifdef LOCAL
ifstream cin("input.txt");
#endif
*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |