6405 2023. 11. 28 09:59:05 Ghost Legkisebb nem osztható cpp17 Időlimit túllépés 0/100 3.101s 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 Időlimit túllépés 3.069s 1024 KiB
subtask2 0/5
2 Időlimit túllépés 3.073s 1300 KiB
3 Időlimit túllépés 3.032s 1564 KiB
4 Időlimit túllépés 3.078s 2424 KiB
5 Elfogadva 30ms 2668 KiB
6 Elfogadva 71ms 2888 KiB
7 Elfogadva 209ms 3024 KiB
8 Elfogadva 330ms 3328 KiB
9 Elfogadva 331ms 3268 KiB
10 Időlimit túllépés 3.058s 3524 KiB
11 Időlimit túllépés 3.065s 3648 KiB
subtask3 0/5
12 Időlimit túllépés 3.071s 3488 KiB
13 Időlimit túllépés 3.072s 3624 KiB
14 Időlimit túllépés 3.076s 3764 KiB
15 Elfogadva 28ms 3752 KiB
16 Elfogadva 68ms 3860 KiB
17 Elfogadva 202ms 3888 KiB
18 Elfogadva 326ms 4140 KiB
19 Elfogadva 328ms 4048 KiB
20 Időlimit túllépés 3.073s 3332 KiB
21 Időlimit túllépés 3.046s 3124 KiB
subtask4 0/10
22 Időlimit túllépés 3.076s 4268 KiB
23 Időlimit túllépés 3.071s 4584 KiB
24 Időlimit túllépés 3.046s 9284 KiB
25 Időlimit túllépés 3.062s 12956 KiB
26 Időlimit túllépés 3.058s 14416 KiB
27 Időlimit túllépés 3.065s 14520 KiB
subtask5 0/10
28 Időlimit túllépés 3.035s 4780 KiB
29 Időlimit túllépés 3.04s 5216 KiB
30 Időlimit túllépés 3.049s 9984 KiB
31 Időlimit túllépés 3.066s 13700 KiB
32 Időlimit túllépés 3.071s 15012 KiB
33 Időlimit túllépés 3.062s 14952 KiB
subtask6 0/10
34 Elfogadva 330ms 4728 KiB
35 Időlimit túllépés 3.046s 4936 KiB
36 Időlimit túllépés 3.062s 6628 KiB
37 Időlimit túllépés 3.073s 10008 KiB
38 Időlimit túllépés 3.075s 13700 KiB
39 Időlimit túllépés 3.051s 14948 KiB
40 Időlimit túllépés 3.053s 14876 KiB
41 Időlimit túllépés 3.073s 14808 KiB
subtask7 0/15
42 Elfogadva 328ms 4880 KiB
43 Időlimit túllépés 3.062s 4920 KiB
44 Időlimit túllépés 3.069s 6808 KiB
45 Időlimit túllépés 3.071s 10212 KiB
46 Időlimit túllépés 3.059s 14016 KiB
47 Időlimit túllépés 3.066s 15224 KiB
48 Időlimit túllépés 3.085s 15104 KiB
49 Időlimit túllépés 3.058s 15288 KiB
50 Időlimit túllépés 3.026s 15168 KiB
51 Időlimit túllépés 3.055s 12604 KiB
52 Időlimit túllépés 3.055s 12688 KiB
53 Időlimit túllépés 3.046s 12668 KiB
54 Időlimit túllépés 3.066s 12768 KiB
55 Időlimit túllépés 3.063s 12756 KiB
56 Időlimit túllépés 3.071s 12800 KiB
subtask8 0/20
57 Időlimit túllépés 3.062s 5356 KiB
58 Időlimit túllépés 3.071s 6792 KiB
59 Időlimit túllépés 3.055s 8144 KiB
60 Időlimit túllépés 3.066s 10324 KiB
61 Időlimit túllépés 3.066s 15000 KiB
62 Időlimit túllépés 3.059s 15096 KiB
63 Időlimit túllépés 3.068s 15140 KiB
64 Időlimit túllépés 3.062s 15324 KiB
65 Időlimit túllépés 3.058s 15412 KiB
66 Időlimit túllépés 3.039s 15604 KiB
subtask9 0/25
67 Időlimit túllépés 3.071s 5592 KiB
68 Időlimit túllépés 3.069s 6968 KiB
69 Időlimit túllépés 3.062s 8332 KiB
70 Időlimit túllépés 3.069s 10964 KiB
71 Időlimit túllépés 3.101s 15348 KiB
72 Időlimit túllépés 3.075s 15392 KiB
73 Időlimit túllépés 3.101s 15588 KiB
74 Időlimit túllépés 3.078s 15532 KiB
75 Időlimit túllépés 3.082s 15720 KiB
76 Időlimit túllépés 3.075s 15396 KiB
77 Időlimit túllépés 3.055s 15584 KiB
78 Időlimit túllépés 3.048s 15456 KiB
79 Időlimit túllépés 3.042s 15588 KiB
80 Időlimit túllépés 3.049s 15696 KiB
81 Időlimit túllépés 3.033s 15784 KiB
82 Időlimit túllépés 3.051s 15284 KiB
83 Időlimit túllépés 3.055s 15524 KiB