답안 #673229

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
673229 2022-12-20T01:29:25 Z Hacv16 Jelly Flavours (IOI20_jelly) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#include "jelly.h"
using namespace std;
 
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
 
#define fr first
#define sc second

const int MAX = 2005;
const int INF = 0x3f3f3f3f;
int n, a[MAX], b[MAX];
 
bool cmp(int i, int j){ return a[i] > a[j]; }

int find_maximum_unique(int x, int y, vector<int> _a, vector<int> _b) {
	n = _a.size();
	
	vector<pair<int, int>> aux;

	for(int i = 0; i < n; i++)
		aux.emplace_back(_a[i], _b[i]);

	sort(aux.begin(), aux.end());

	vector<vector<pair<int, int>> dp(n + 1, vector<pair<int, int>>(y + 1));

	dp[0][0] = {0, x};

	int ans = 0;

	for(int i = 1; i <= n; i++){
		for(int j = 0; j <= y; j++){
			dp[i][j] = dp[i - 1][j];

			if(dp[i][j].sc >= _a[i - 1]){
				dp[i][j].fr++;
				dp[i][j].sc -= a[i - 1];
			}

			if(j >= _b[i - 1]){
				pair<int, int> tmp = dp[i - 1][j - _b[i - 1]];
				tmp.fr++;

				if(tmp.fr > dp[i][j].fr || (tmp.fr == dp[i][j].fr && tmp.sc > dp[i][j].sc))
					dp[i][j] = tmp;
			}

			ans = max(ans, dp[i][j].fr);
		}
	}
 
	return dp[n][x][y];
}

Compilation message

jelly.cpp: In function 'int find_maximum_unique(int, int, std::vector<int>, std::vector<int>)':
jelly.cpp:27:71: error: template argument 1 is invalid
   27 |  vector<vector<pair<int, int>> dp(n + 1, vector<pair<int, int>>(y + 1));
      |                                                                       ^
jelly.cpp:27:71: error: template argument 2 is invalid
jelly.cpp:29:2: error: 'dp' was not declared in this scope
   29 |  dp[0][0] = {0, x};
      |  ^~