6404 2023. 11. 28 09:55:36 Ghost Legkisebb nem osztható cpp17 Időlimit túllépés 0/100 3.086s 15964 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];
                }
            }
            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.061s 1776 KiB
subtask2 0/5
2 Időlimit túllépés 3.061s 1968 KiB
3 Időlimit túllépés 3.045s 2232 KiB
4 Időlimit túllépés 3.065s 2712 KiB
5 Elfogadva 32ms 2728 KiB
6 Elfogadva 72ms 2916 KiB
7 Elfogadva 215ms 3052 KiB
8 Elfogadva 337ms 3216 KiB
9 Elfogadva 340ms 3392 KiB
10 Időlimit túllépés 3.066s 2556 KiB
11 Időlimit túllépés 3.062s 3304 KiB
subtask3 0/5
12 Időlimit túllépés 3.046s 3332 KiB
13 Időlimit túllépés 3.046s 2728 KiB
14 Időlimit túllépés 3.053s 2944 KiB
15 Elfogadva 29ms 3696 KiB
16 Elfogadva 70ms 3840 KiB
17 Elfogadva 209ms 3972 KiB
18 Elfogadva 335ms 4264 KiB
19 Elfogadva 335ms 4264 KiB
20 Időlimit túllépés 3.066s 4452 KiB
21 Időlimit túllépés 3.053s 3528 KiB
subtask4 0/10
22 Időlimit túllépés 3.059s 4480 KiB
23 Időlimit túllépés 3.065s 5056 KiB
24 Időlimit túllépés 3.01s 9684 KiB
25 Időlimit túllépés 3.066s 13252 KiB
26 Időlimit túllépés 3.068s 14832 KiB
27 Időlimit túllépés 3.079s 15060 KiB
subtask5 0/10
28 Időlimit túllépés 3.078s 5464 KiB
29 Időlimit túllépés 3.046s 5580 KiB
30 Időlimit túllépés 3.026s 10360 KiB
31 Időlimit túllépés 3.055s 13884 KiB
32 Időlimit túllépés 3.082s 15348 KiB
33 Időlimit túllépés 3.062s 15204 KiB
subtask6 0/10
34 Elfogadva 338ms 5096 KiB
35 Időlimit túllépés 3.055s 5544 KiB
36 Időlimit túllépés 3.059s 7120 KiB
37 Időlimit túllépés 3.065s 10448 KiB
38 Időlimit túllépés 3.086s 14236 KiB
39 Időlimit túllépés 3.062s 15404 KiB
40 Időlimit túllépés 3.063s 15272 KiB
41 Időlimit túllépés 3.046s 15296 KiB
subtask7 0/15
42 Elfogadva 335ms 5292 KiB
43 Időlimit túllépés 3.033s 5420 KiB
44 Időlimit túllépés 3.049s 7160 KiB
45 Időlimit túllépés 3.071s 10560 KiB
46 Időlimit túllépés 3.071s 14232 KiB
47 Időlimit túllépés 3.059s 15576 KiB
48 Időlimit túllépés 3.058s 15640 KiB
49 Időlimit túllépés 3.049s 15568 KiB
50 Időlimit túllépés 3.063s 15672 KiB
51 Időlimit túllépés 3.075s 13008 KiB
52 Időlimit túllépés 3.063s 12948 KiB
53 Időlimit túllépés 3.062s 13012 KiB
54 Időlimit túllépés 3.062s 13016 KiB
55 Időlimit túllépés 3.055s 13040 KiB
56 Időlimit túllépés 3.062s 13076 KiB
subtask8 0/20
57 Időlimit túllépés 3.038s 5508 KiB
58 Időlimit túllépés 3.071s 6912 KiB
59 Időlimit túllépés 3.051s 8208 KiB
60 Időlimit túllépés 3.039s 10580 KiB
61 Időlimit túllépés 3.071s 15196 KiB
62 Időlimit túllépés 3.069s 15380 KiB
63 Időlimit túllépés 3.062s 15288 KiB
64 Időlimit túllépés 3.059s 15316 KiB
65 Időlimit túllépés 3.043s 15332 KiB
66 Időlimit túllépés 3.082s 15412 KiB
subtask9 0/25
67 Időlimit túllépés 3.059s 5532 KiB
68 Időlimit túllépés 3.053s 6880 KiB
69 Időlimit túllépés 3.049s 8308 KiB
70 Időlimit túllépés 3.053s 10692 KiB
71 Időlimit túllépés 3.082s 15396 KiB
72 Időlimit túllépés 3.058s 15600 KiB
73 Időlimit túllépés 3.065s 15580 KiB
74 Időlimit túllépés 3.053s 15700 KiB
75 Időlimit túllépés 3.053s 15448 KiB
76 Időlimit túllépés 3.073s 15436 KiB
77 Időlimit túllépés 3.049s 15664 KiB
78 Időlimit túllépés 3.058s 15412 KiB
79 Időlimit túllépés 3.066s 15384 KiB
80 Időlimit túllépés 3.071s 15964 KiB
81 Időlimit túllépés 3.062s 15740 KiB
82 Időlimit túllépés 3.066s 15356 KiB
83 Időlimit túllépés 3.066s 15628 KiB