#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int INF = INT_MAX / 2; class Edge { public: int to, cost, time; Edge(int to, int cost, int time){ this->to = to; this->cost = cost; this->time = time; } }; int main() { int n, c, v; cin >> n >> c >> v; vector s(v), t(v), y(v), m(v); for(int i=0; i> s[i]; for(int i=0; i> t[i]; for(int i=0; i> y[i]; for(int i=0; i> m[i]; vector > edges(n); for(int i=0; i > dp(n, vector(c+1, INF)); dp[0][c] = 0; for(int i=c; i>=0; --i){ for(int j=0; j