Submission #1169445

#TimeUsernameProblemLanguageResultExecution timeMemory
1169445owieczkaJelly Flavours (IOI20_jelly)C++20
10 / 100
54 ms78664 KiB
#include "jelly.h" #include <bits/stdc++.h> using namespace std; int dp[2'002][10'010]; pair<int, int> tab[2'002]; pair<int, int> tb[2'002]; int find_maximum_unique(int x, int y, std::vector<int> a, std::vector<int> b) { int n = a.size(); for (int i = 0; i < n; i++) { tab[i+1] = {a[i], b[i]}; tb[i+1] = {b[i], i+1}; } sort(tab+1, tab + n+1); sort(tb+1, tb+ n + 1); int ans = 0; for (int i = 1; i <= n; i++) { int m = INT_MAX; for (int a = 0; a <= x; a++) { dp[i][a] = dp[i-1][a] + tab[i].second; if (a >= tab[i].first) dp[i][a] = min(dp[i][a], dp[i-1][a-tab[i].first]); m = min(dp[i][a], m); } int left = y - m; m = i; if (left < 0)continue; for (int j = 1; j <= n; j++) { if (left < tb[j].first)break; if (tb[j].second > i) { left -= tb[i].first; m++; } } ans = max(m, ans); } return ans; }
#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...