152682025-02-17 19:03:18TakacsAndrasTúra (75 pont)cpp17Hibás válasz 4/75108ms6832 KiB
/*#include <bits/stdc++.h>
using namespace std;
int main() {
    int t; cin >> t;
    while (t--) {
        int n; cin >> n;
        vector<int> a(n+1);
        for (int i = 1; i <= n; i++) cin >> a[i];
        vector<vector<int>> g(n+1);
        bool f = false;
        int out1 = -1, out2 = -1;
        for (int i = 0; i < n-1; i++) {
            int x1,x2; cin >> x1 >> x2;
            if (a[x1] == -1 && a[x2] == -1) {
                out1 = x1;
                out2 = x2;
            }
        }
        if (out1 == -1) cout << "IGEN\n";
        else cout << "NEM\n2\n" << out1 << ' ' << out2 << '\n';
    }
}
*/
#include <bits/stdc++.h>
using namespace std;
vector<int> a,p;
vector<vector<int>> g;
bool e = false;
void dfs(int u, int pr, int cnt=0) {
    a[u] = -2;
    p[u] = pr;
    if (cnt < 0 && u != 1) {
        int h = u;
        vector<int> out;
        while (h != -1) {
            out.push_back(h);
            h = p[h];
        }
        reverse(out.begin(),out.end());
        cout << "NEM\n" << out.size() << '\n';
        for (int x : out) cout << x << ' ';
        cout << '\n';
        e = true;

    }
    for (int &x : g[u]) {
        if (a[x] != -2) dfs(x,u,cnt+a[x]);
        if (e) break;
    }
}
int main() {
    int t; cin >> t;
    while (t--) {
        int n; cin >> n;
        e = false;
        a.assign(n+1,0);
        p.assign(n+1,0);
        for (int i = 1; i <= n; i++) cin >> a[i];
        g.assign(n+1,vector<int>(0));
        for (int i = 0; i < n-1; i++) {
            int a,b; cin >> a >> b;
            g[a].push_back(b);
            g[b].push_back(a);
        }
        dfs(1,-1,a[1]);
        if (!e) cout << "IGEN\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/75
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/61ms316 KiB
4Hibás válasz0/38ms316 KiB
5Hibás válasz0/38ms468 KiB
6Hibás válasz0/48ms440 KiB
7Hibás válasz0/48ms500 KiB
8Hibás válasz0/48ms472 KiB
9Hibás válasz0/279ms1088 KiB
10Hibás válasz0/279ms1172 KiB
11Hibás válasz0/279ms1064 KiB
12Hibás válasz0/281ms1104 KiB
13Hibás válasz0/281ms1112 KiB
14Hibás válasz0/379ms1052 KiB
15Hibás válasz0/279ms988 KiB
16Hibás válasz0/279ms1076 KiB
17Hibás válasz0/279ms1076 KiB
18Hibás válasz0/279ms1332 KiB
19Hibás válasz0/378ms1332 KiB
20Hibás válasz0/278ms1320 KiB
21Hibás válasz0/279ms1332 KiB
22Hibás válasz0/381ms1076 KiB
23Hibás válasz0/2108ms6832 KiB
24Hibás válasz0/2108ms6700 KiB
25Hibás válasz0/2104ms3828 KiB
26Hibás válasz0/293ms3968 KiB
27Hibás válasz0/2100ms3628 KiB
28Hibás válasz0/298ms3892 KiB
29Hibás válasz0/2101ms3608 KiB
30Hibás válasz0/298ms3892 KiB
31Elfogadva2/297ms3892 KiB
32Elfogadva2/2101ms3624 KiB