#include #define MAX 50001 using namespace std; int idx(char ch) { if(ch=='E')return 0; else if(ch=='D')return 1; else if(ch=='C')return 2; else return 3; } vector minimumZooNumbers(int m, int n, vector t, vector s, vector d) { // Return a list of length n consisting of the answers vector > dp(m+1, vector(2, 0)); vector > source(m+1, vector (4, 0)); vector > dest(m+1, vector (4, 0)); vector > cnt(m+1, vector (4, 0)); vector mans(m+1); int i, j; for(i=0;i ans(n, -1); i=1;j=1; while(i<=n&&j<=m) { while(j<=m&&mans[j]> cases; for(int a0 = 0; a0 < cases; a0++){ int m; int n; cin >> m >> n; vector t(n); for(int t_i = 0; t_i < n; t_i++){ cin >> t[t_i]; } vector s(n); for(int s_i = 0; s_i < n; s_i++){ cin >> s[s_i]; } vector d(n); for(int d_i = 0; d_i < n; d_i++){ cin >> d[d_i]; } vector result = minimumZooNumbers(m, n, t, s, d); for (ssize_t i = 0; i < result.size(); i++) { cout << result[i] << (i != result.size() - 1 ? " " : ""); } cout << endl; } return 0; }