6410 | 2023-11-28 10:11:02 | Ghost | Legkisebb nem osztható | cpp17 | Időlimit túllépés 10/100 | 3.099s | 15700 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;
correct = true;
while (node != -1) {
if (out >= value[node]) {
if (out % value[node] == 0 || (out > 2 && out % 2 == 0)) {
correct = false;
break;
}
node = last[node];
}
else {
node = last[node];
continue;
}
}
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 | Elfogadva | 3ms | 1816 KiB | ||||
subtask2 | 5/5 | ||||||
2 | Elfogadva | 3ms | 2044 KiB | ||||
3 | Elfogadva | 3ms | 2256 KiB | ||||
4 | Elfogadva | 6ms | 2468 KiB | ||||
5 | Elfogadva | 29ms | 2552 KiB | ||||
6 | Elfogadva | 71ms | 2564 KiB | ||||
7 | Elfogadva | 208ms | 2840 KiB | ||||
8 | Elfogadva | 328ms | 3364 KiB | ||||
9 | Elfogadva | 328ms | 3320 KiB | ||||
10 | Elfogadva | 330ms | 3268 KiB | ||||
11 | Elfogadva | 333ms | 3556 KiB | ||||
subtask3 | 5/5 | ||||||
12 | Elfogadva | 3ms | 3364 KiB | ||||
13 | Elfogadva | 3ms | 3620 KiB | ||||
14 | Elfogadva | 4ms | 3804 KiB | ||||
15 | Elfogadva | 28ms | 3940 KiB | ||||
16 | Elfogadva | 68ms | 4060 KiB | ||||
17 | Elfogadva | 202ms | 4088 KiB | ||||
18 | Elfogadva | 324ms | 4300 KiB | ||||
19 | Elfogadva | 326ms | 4384 KiB | ||||
20 | Elfogadva | 324ms | 4384 KiB | ||||
21 | Elfogadva | 323ms | 4356 KiB | ||||
subtask4 | 0/10 | ||||||
22 | Időlimit túllépés | 3.059s | 4524 KiB | ||||
23 | Időlimit túllépés | 3.066s | 5016 KiB | ||||
24 | Időlimit túllépés | 3.065s | 9684 KiB | ||||
25 | Időlimit túllépés | 3.055s | 13216 KiB | ||||
26 | Időlimit túllépés | 3.082s | 14488 KiB | ||||
27 | Időlimit túllépés | 3.062s | 14476 KiB | ||||
subtask5 | 0/10 | ||||||
28 | Időlimit túllépés | 3.078s | 4536 KiB | ||||
29 | Időlimit túllépés | 3.046s | 4796 KiB | ||||
30 | Időlimit túllépés | 3.073s | 9988 KiB | ||||
31 | Időlimit túllépés | 3.065s | 13876 KiB | ||||
32 | Időlimit túllépés | 3.062s | 15108 KiB | ||||
33 | Időlimit túllépés | 3.082s | 15124 KiB | ||||
subtask6 | 0/10 | ||||||
34 | Elfogadva | 328ms | 5236 KiB | ||||
35 | Időlimit túllépés | 3.065s | 5396 KiB | ||||
36 | Időlimit túllépés | 3.069s | 7104 KiB | ||||
37 | Időlimit túllépés | 3.069s | 10452 KiB | ||||
38 | Időlimit túllépés | 3.065s | 14176 KiB | ||||
39 | Időlimit túllépés | 3.063s | 15600 KiB | ||||
40 | Időlimit túllépés | 3.099s | 15448 KiB | ||||
41 | Időlimit túllépés | 3.099s | 15244 KiB | ||||
subtask7 | 0/15 | ||||||
42 | Elfogadva | 326ms | 5264 KiB | ||||
43 | Időlimit túllépés | 3.075s | 5456 KiB | ||||
44 | Időlimit túllépés | 3.062s | 7176 KiB | ||||
45 | Időlimit túllépés | 3.066s | 10568 KiB | ||||
46 | Időlimit túllépés | 3.086s | 14492 KiB | ||||
47 | Időlimit túllépés | 3.066s | 15592 KiB | ||||
48 | Időlimit túllépés | 3.062s | 15668 KiB | ||||
49 | Időlimit túllépés | 3.075s | 15692 KiB | ||||
50 | Időlimit túllépés | 3.066s | 15452 KiB | ||||
51 | Időlimit túllépés | 3.062s | 12968 KiB | ||||
52 | Időlimit túllépés | 3.059s | 13112 KiB | ||||
53 | Időlimit túllépés | 3.046s | 13104 KiB | ||||
54 | Időlimit túllépés | 3.051s | 13028 KiB | ||||
55 | Időlimit túllépés | 3.078s | 13116 KiB | ||||
56 | Időlimit túllépés | 3.062s | 13100 KiB | ||||
subtask8 | 0/20 | ||||||
57 | Időlimit túllépés | 3.069s | 5512 KiB | ||||
58 | Időlimit túllépés | 3.071s | 6808 KiB | ||||
59 | Időlimit túllépés | 3.062s | 8156 KiB | ||||
60 | Időlimit túllépés | 3.062s | 10520 KiB | ||||
61 | Időlimit túllépés | 3.078s | 15128 KiB | ||||
62 | Időlimit túllépés | 3.082s | 15364 KiB | ||||
63 | Időlimit túllépés | 3.073s | 15348 KiB | ||||
64 | Időlimit túllépés | 3.059s | 15348 KiB | ||||
65 | Időlimit túllépés | 3.059s | 15324 KiB | ||||
66 | Időlimit túllépés | 3.079s | 15396 KiB | ||||
subtask9 | 0/25 | ||||||
67 | Időlimit túllépés | 3.066s | 5416 KiB | ||||
68 | Időlimit túllépés | 3.055s | 6808 KiB | ||||
69 | Időlimit túllépés | 3.062s | 8348 KiB | ||||
70 | Időlimit túllépés | 3.055s | 10788 KiB | ||||
71 | Időlimit túllépés | 3.075s | 15392 KiB | ||||
72 | Időlimit túllépés | 3.032s | 15648 KiB | ||||
73 | Időlimit túllépés | 3.063s | 15604 KiB | ||||
74 | Időlimit túllépés | 3.082s | 15564 KiB | ||||
75 | Időlimit túllépés | 3.055s | 15464 KiB | ||||
76 | Időlimit túllépés | 3.066s | 15576 KiB | ||||
77 | Időlimit túllépés | 3.055s | 15516 KiB | ||||
78 | Időlimit túllépés | 3.065s | 15684 KiB | ||||
79 | Időlimit túllépés | 3.069s | 15504 KiB | ||||
80 | Időlimit túllépés | 3.065s | 15700 KiB | ||||
81 | Időlimit túllépés | 3.046s | 15664 KiB | ||||
82 | Időlimit túllépés | 3.071s | 15328 KiB | ||||
83 | Időlimit túllépés | 3.053s | 15632 KiB |