#pragma GCC optimize("Ofast") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef unsigned long long ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } inline double time() { return static_cast(chrono::duration_cast(chrono::steady_clock::now().time_since_epoch()).count()) * 1e-9; } int dp[51][301]; const int inf = 1e9; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,c,v; cin >> n >> c >> v; for(int i=0;i<=n;i++){ for(int j=0;j<=c;j++){ dp[i][j] = inf; } } vector> g(n); for(int i=0;i> s; g[s-1].push_back(i); } vector t(v),y(v),m(v); for(int i=0;i> t[i]; t[i]--; } for(int i=0;i> y[i]; } for(int i=0;i> m[i]; } dp[0][0] = 0; for(int i=0;i