ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#207373 | #3738. 神奇公式 | cql | 100 | 113ms | 1316kb | C++11 | 1.0kb | 2024-07-28 18:28:22 | 2024-07-28 20:18:32 |
answer
#include <bits/stdc++.h>
#define int long long
using namespace std;
void getFactors(vector<int>& factors, int n) {
vector<pair<int, int>> primes;
for (int i = 2, cnt; i <= n / i; i++) {
for (cnt = 0; n % i == 0; n /= i, cnt++);
if (cnt) primes.push_back({ i, cnt });
}
if (n != 1) primes.push_back({ n, 1 });
factors.push_back(1);
for (int i = 0, size = 1; i < primes.size(); i++, size = factors.size())
for (int prd = primes[i].first; primes[i].second--; prd *= primes[i].first)
for (int j = 0; j < size; j++)
factors.push_back(factors[j] * prd);
}
signed main() {
int x, y, q; cin >> x >> y >> q;
vector<int> factors, v;
getFactors(factors, x);
for (int i = 0; i < factors.size(); i++)
if (y % factors[i] == 0)
v.push_back(factors[i]);
sort(v.begin(), v.end());
for (int l, r; q--;) {
scanf("%lld %lld", &l, &r);
auto it = upper_bound(v.begin(), v.end(), r);
if (*(it - 1) >= l)
cout << *(it - 1) << endl;
else
cout << "-1\n";
}
return 0;
}
Details
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 9ms
memory: 1316kb
input:
348416640 134006400 9203 381 904 396 976 54 147 360 788 62 154 500 1000 33 703 223 851 267 972 294 7...
output:
891 960 144 752 144 990 660 846 960 752 220 891 891 891 594 396 891 960 752 540 752 960 640 594 810 ...
result:
ok 9203 numbers
Test #2:
score: 10
Accepted
time: 7ms
memory: 1308kb
input:
368398800 319278960 9318 259 853 150 428 426 984 65 257 293 967 304 859 99 928 189 730 493 990 278 7...
output:
840 420 924 252 924 840 924 720 990 720 495 924 924 990 560 924 792 660 770 630 886 924 660 924 630 ...
result:
ok 9318 numbers
Test #3:
score: 10
Accepted
time: 22ms
memory: 1304kb
input:
107575776 7683984 9970 318 927 405 988 132 834 6 445 268 611 252 863 467 979 443 997 330 948 187 650...
output:
924 968 792 441 594 847 968 968 924 648 924 882 297 792 924 539 924 792 891 336 252 792 968 891 924 ...
result:
ok 9970 numbers
Test #4:
score: 10
Accepted
time: 11ms
memory: 1304kb
input:
166418304 332836608 9808 33946 87926 10296 23243 29403 72901 38518 97074 27616 93987 24917 54546 281...
output:
86496 23088 70278 94128 93704 50986 98124 57664 84864 47064 66674 88192 76479 88192 35139 66674 9812...
result:
ok 9808 numbers
Test #5:
score: 10
Accepted
time: 13ms
memory: 1300kb
input:
63478620 437297160 9550 26045 62893 43092 86784 17496 52973 14241 51283 4367 14773 42292 88805 39658...
output:
61870 76665 51110 51110 13110 76665 76665 61870 74244 76665 24748 37122 76665 74244 76665 92805 9280...
result:
ok 9550 numbers
Test #6:
score: 10
Accepted
time: 9ms
memory: 1296kb
input:
19886000 333090500 9300 45696 93745 38251 94457 21687 95638 20536 71982 13115 26446 48043 96136 3986...
output:
81500 81500 81500 49715 20375 81500 81500 20375 40750 49715 81500 49715 49715 81500 40750 49715 3050...
result:
ok 9300 numbers
Test #7:
score: 10
Accepted
time: 10ms
memory: 1304kb
input:
202943400 304415100 9494 9035 45696 15576 69414 2237 47826 23377 88110 22630 49691 16652 65392 45948...
output:
41844 64020 47550 87175 47550 64020 92247 64020 53350 64020 52305 87175 87175 80025 95100 87175 8002...
result:
ok 9494 numbers
Test #8:
score: 10
Accepted
time: 5ms
memory: 1300kb
input:
409519616 255949760 9654 3529364 116950129 9643 832086 4776204 500233623 74 231 3881982 598796620 21...
output:
51189952 799843 51189952 209 51189952 51189952 25594976 64 51189952 168388 51189952 51189952 5118995...
result:
ok 9654 numbers
Test #9:
score: 10
Accepted
time: 14ms
memory: 1300kb
input:
203359194 67786398 9171 3979446 976089629 5599 201623 173333 837815033 57223 98444567 9 20 80 236 56...
output:
67786398 191487 67786398 67786398 18 213 67786398 67786398 2059 318246 389577 213 10974 11297733 677...
result:
ok 9171 numbers
Test #10:
score: 10
Accepted
time: 13ms
memory: 1312kb
input:
265920480 151954560 9127 413 34155 2906 181514 9946 640894 60 174 70 340 1091724 556442868 5670 3205...
output:
34040 171120 633144 160 333 37988640 316572 37988640 37988640 37988640 372 633144 37988640 245088 37...
result:
ok 9127 numbers