63992023-11-27 18:29:02GhostLegkisebb nem oszthatócpp17Időlimit túllépés 10/1003.086s100328 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), outV;
    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);
        }

        outV.clear();
        node = goal;
        while (node != -1) {
            outV.push_back(value[node]);
            node = last[node];
        }

        bool correct = false;
        int out = 2;
        while (!correct) {
            for (j = 0; j < outV.size(); j++) {
                if (out % outV[j] == 0) {
                    correct = false;
                    break;
                }
                correct = true;
            }
            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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
subtask25/5
2Elfogadva3ms2064 KiB
3Elfogadva3ms2212 KiB
4Elfogadva4ms2308 KiB
5Elfogadva30ms2396 KiB
6Elfogadva71ms2760 KiB
7Elfogadva209ms3164 KiB
8Elfogadva330ms3328 KiB
9Elfogadva331ms3440 KiB
10Elfogadva331ms3592 KiB
11Elfogadva333ms3848 KiB
subtask35/5
12Elfogadva3ms3728 KiB
13Elfogadva3ms3780 KiB
14Elfogadva4ms3792 KiB
15Elfogadva28ms3892 KiB
16Elfogadva68ms4172 KiB
17Elfogadva202ms4216 KiB
18Elfogadva326ms4452 KiB
19Elfogadva326ms4532 KiB
20Elfogadva324ms4520 KiB
21Elfogadva324ms4776 KiB
subtask40/10
22Időlimit túllépés3.081s5336 KiB
23Időlimit túllépés3.053s6072 KiB
24Időlimit túllépés3.082s11944 KiB
25Időlimit túllépés3.082s17120 KiB
26Időlimit túllépés3.065s20064 KiB
27Időlimit túllépés3.059s21612 KiB
subtask50/10
28Időlimit túllépés3.075s11624 KiB
29Időlimit túllépés3.078s12328 KiB
30Időlimit túllépés3.053s18000 KiB
31Időlimit túllépés3.058s23072 KiB
32Időlimit túllépés3.062s25824 KiB
33Időlimit túllépés3.075s27204 KiB
subtask60/10
34Elfogadva330ms17208 KiB
35Időlimit túllépés3.058s17696 KiB
36Időlimit túllépés3.072s20076 KiB
37Időlimit túllépés3.038s24768 KiB
38Időlimit túllépés3.069s30456 KiB
39Időlimit túllépés3.065s33804 KiB
40Időlimit túllépés3.059s35748 KiB
41Időlimit túllépés3.078s37568 KiB
subtask70/15
42Elfogadva328ms27048 KiB
43Időlimit túllépés3.046s27448 KiB
44Időlimit túllépés3.049s29760 KiB
45Időlimit túllépés3.058s34228 KiB
46Időlimit túllépés3.062s39728 KiB
47Időlimit túllépés3.075s42840 KiB
48Időlimit túllépés3.066s45148 KiB
49Időlimit túllépés3.062s47380 KiB
50Időlimit túllépés3.062s49168 KiB
51Időlimit túllépés3.066s48648 KiB
52Időlimit túllépés3.066s50036 KiB
53Időlimit túllépés3.066s51892 KiB
54Időlimit túllépés3.071s53584 KiB
55Időlimit túllépés3.058s54944 KiB
56Időlimit túllépés3.059s56496 KiB
subtask80/20
57Időlimit túllépés3.075s49252 KiB
58Időlimit túllépés3.046s51412 KiB
59Időlimit túllépés3.062s53548 KiB
60Időlimit túllépés3.069s57032 KiB
61Időlimit túllépés3.086s63924 KiB
62Időlimit túllépés3.066s66164 KiB
63Időlimit túllépés3.071s67764 KiB
64Időlimit túllépés3.051s69524 KiB
65Időlimit túllépés3.035s71620 KiB
66Időlimit túllépés3.078s73704 KiB
subtask90/25
67Időlimit túllépés3.045s63584 KiB
68Időlimit túllépés3.056s65400 KiB
69Időlimit túllépés3.072s67668 KiB
70Időlimit túllépés3.061s71040 KiB
71Időlimit túllépés3.042s77608 KiB
72Időlimit túllépés3.059s79760 KiB
73Időlimit túllépés3.075s81564 KiB
74Időlimit túllépés3.059s83372 KiB
75Időlimit túllépés3.066s85152 KiB
76Időlimit túllépés3.075s87120 KiB
77Időlimit túllépés3.046s88768 KiB
78Időlimit túllépés3.071s90388 KiB
79Időlimit túllépés3.059s92196 KiB
80Időlimit túllépés3.059s94428 KiB
81Időlimit túllépés3.042s96284 KiB
82Időlimit túllépés3.062s98468 KiB
83Időlimit túllépés3.082s100328 KiB