UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#207361#3738. 神奇公式Soulmate10086ms1264kbC++111.0kb2024-07-28 18:19:192024-07-28 20:15:45

answer

#include <bits/stdc++.h>
using namespace std;


int gcd(int a,int b) 
{
    while (b!=0) 
    {
        int temp=b;
        b=a%b;
        a=temp;
    }
    return a;
}


vector<int> f(int n) 
{
    vector<int> a;
    for (int i=1;i*i<=n;i++) 
    {
        if (n%i==0) 
        {
            a.push_back(i);
            if (i!=n/i) 
            {
                a.push_back(n/i);
            }
        }
    }
    sort(a.rbegin(),a.rend()); 
    return a;
}

int main()
 {
    int x,y;
    cin>>x>>y;
    
    
    int g=gcd(x,y);
    
   
    vector<int> a=f(g);
    
    int q;
    cin>>q;
    while (q--) 
    {

        int l,r;
        cin>>l>>r;
        
        
        bool flag=false;
        for (int d:a) 
        {
            if (d>=l&&d<=r) 
            {
                cout<<d<<endl;
                flag=true;
                break;
            }
        }
        if (!flag) 
        {
            cout<<-1<<endl;
        }
    }
    
    return 0;
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 20ms
memory: 1264kb

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: 8ms
memory: 1260kb

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: 8ms
memory: 1260kb

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: 8ms
memory: 1256kb

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: 14ms
memory: 1256kb

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: 7ms
memory: 1260kb

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: 6ms
memory: 1260kb

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: 7ms
memory: 1256kb

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: 3ms
memory: 1256kb

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: 5ms
memory: 1260kb

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