6406 2023. 11. 28 10:02:05 Ghost Legkisebb nem osztható cpp17 Hibás válasz 0/100 3.084s 15784 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <stack>

using namespace std;

int main()
{
    int n, temp1, temp2, i;
    cin >> n;

    vector<int> value(n);
    for (i = 0; i < n; i++) {
        cin >> value[i];
    }

    vector<vector<int>> map(n);
    for (i = 0; i < (n - 1); i++) {
        cin >> temp1 >> temp2;
        temp1--; temp2--;
        map[temp1].push_back(temp2);
        map[temp2].push_back(temp1);
    }

    int k, goal, start, j;
    cin >> k;
    set<int> been;
    queue<int> steps;
    vector<int> last(n);
    for (i = 0; i < k; i++) {
        cin >> start >> goal;
        start--; goal--;
        last[start] = -1;

        been.clear();
        been.insert(start);
        steps.push(start);

        int node;
        while (steps.size() > 0) {
            node = steps.front();
            steps.pop();
            for (j = 0; j < map[node].size(); j++) {
                if (!been.count(map[node][j])) {
                    steps.push(map[node][j]);
                    last[map[node][j]] = node;
                }
            }
            been.insert(node);
        }

        bool correct = false;
        int out = 2;
        while (!correct) {
            node = goal;
            while (node != -1) {
                if (out >= value[node]) {
                    if (out % value[node] == 0 || (out > 2 && out % 2 == 0)) {
                        correct = false;
                        break;
                    }
                    correct = true;
                    node = last[node];
                }
                else {
                    break;
                }
            }
            if (correct) {
                break;
            }
            out++;
        }

        cout << out << "\n";
    }
}

//9
//7 25 8 4 1000000 6 11 3 2
//5 7
//5 1
//5 6
//7 3
//1 2
//1 4
//6 8
//2 9
//3
//8 9
//3 8
//4 9
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Hibás válasz 3ms 1944 KiB
subtask2 0/5
2 Hibás válasz 3ms 2112 KiB
3 Hibás válasz 3ms 2332 KiB
4 Hibás válasz 6ms 2384 KiB
5 Hibás válasz 731ms 2728 KiB
6 Hibás válasz 842ms 2828 KiB
7 Hibás válasz 906ms 3056 KiB
8 Hibás válasz 1.083s 3156 KiB
9 Hibás válasz 1.024s 3408 KiB
10 Hibás válasz 330ms 3620 KiB
11 Hibás válasz 328ms 3888 KiB
subtask3 0/5
12 Hibás válasz 3ms 3680 KiB
13 Hibás válasz 3ms 3684 KiB
14 Hibás válasz 4ms 3700 KiB
15 Hibás válasz 814ms 3924 KiB
16 Hibás válasz 778ms 4260 KiB
17 Hibás válasz 939ms 4172 KiB
18 Hibás válasz 1.046s 4116 KiB
19 Hibás válasz 1.027s 4372 KiB
20 Hibás válasz 326ms 4380 KiB
21 Hibás válasz 326ms 4332 KiB
subtask4 0/10
22 Időlimit túllépés 3.073s 4604 KiB
23 Időlimit túllépés 3.046s 4708 KiB
24 Időlimit túllépés 3.066s 9508 KiB
25 Időlimit túllépés 3.062s 13132 KiB
26 Időlimit túllépés 3.059s 14384 KiB
27 Időlimit túllépés 3.053s 14452 KiB
subtask5 0/10
28 Időlimit túllépés 3.078s 4596 KiB
29 Időlimit túllépés 3.035s 4964 KiB
30 Időlimit túllépés 3.062s 9900 KiB
31 Időlimit túllépés 3.049s 13700 KiB
32 Időlimit túllépés 3.066s 14804 KiB
33 Időlimit túllépés 3.068s 14988 KiB
subtask6 0/10
34 Hibás válasz 330ms 5084 KiB
35 Időlimit túllépés 3.062s 5056 KiB
36 Időlimit túllépés 3.073s 6576 KiB
37 Időlimit túllépés 3.049s 9944 KiB
38 Időlimit túllépés 3.073s 13796 KiB
39 Időlimit túllépés 3.079s 14964 KiB
40 Időlimit túllépés 3.062s 15120 KiB
41 Időlimit túllépés 3.078s 15076 KiB
subtask7 0/15
42 Hibás válasz 328ms 5048 KiB
43 Időlimit túllépés 3.026s 5140 KiB
44 Időlimit túllépés 3.039s 6824 KiB
45 Időlimit túllépés 3.069s 10256 KiB
46 Időlimit túllépés 3.072s 14132 KiB
47 Időlimit túllépés 3.084s 15292 KiB
48 Időlimit túllépés 3.075s 15252 KiB
49 Időlimit túllépés 3.075s 15212 KiB
50 Időlimit túllépés 3.073s 15372 KiB
51 Időlimit túllépés 3.058s 12688 KiB
52 Időlimit túllépés 3.072s 12784 KiB
53 Időlimit túllépés 3.062s 12804 KiB
54 Időlimit túllépés 3.058s 12776 KiB
55 Időlimit túllépés 3.079s 12704 KiB
56 Időlimit túllépés 3.062s 12956 KiB
subtask8 0/20
57 Időlimit túllépés 3.073s 5376 KiB
58 Időlimit túllépés 3.078s 6640 KiB
59 Időlimit túllépés 3.082s 8156 KiB
60 Időlimit túllépés 3.069s 10452 KiB
61 Időlimit túllépés 3.059s 14848 KiB
62 Időlimit túllépés 3.079s 14960 KiB
63 Időlimit túllépés 3.079s 15012 KiB
64 Időlimit túllépés 3.066s 15060 KiB
65 Időlimit túllépés 3.072s 15032 KiB
66 Időlimit túllépés 3.071s 15188 KiB
subtask9 0/25
67 Időlimit túllépés 3.049s 5236 KiB
68 Időlimit túllépés 3.075s 6640 KiB
69 Időlimit túllépés 3.046s 7968 KiB
70 Időlimit túllépés 3.078s 10528 KiB
71 Időlimit túllépés 3.066s 15248 KiB
72 Időlimit túllépés 3.082s 15340 KiB
73 Időlimit túllépés 3.078s 15392 KiB
74 Időlimit túllépés 3.059s 15336 KiB
75 Időlimit túllépés 3.062s 15276 KiB
76 Időlimit túllépés 3.069s 15416 KiB
77 Időlimit túllépés 3.071s 15700 KiB
78 Időlimit túllépés 3.075s 15488 KiB
79 Időlimit túllépés 3.082s 15532 KiB
80 Időlimit túllépés 3.071s 15784 KiB
81 Időlimit túllépés 3.058s 15608 KiB
82 Időlimit túllépés 3.073s 15208 KiB
83 Időlimit túllépés 3.075s 15476 KiB