ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 19.03.2020 01:08:37

ამოცანა: უდიდესი საერთო გამყოფი

მომხმარებელი: Nero

ვერდიქტი: სრული ამოხსნა

შეფასება: 100.0 ქულა







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

int GetDivisor(int, int);

int main(){
        int n;
        scanf("%d\n", &n);
        int nums[n];
        for(int i=n; i--;) scanf(" %d", &nums[i]);

        sort(nums, nums+n);

        int maxDivisor=0;
        for(int i=n; --i;){
                for(int j=i; j--;){
                        maxDivisor = max(maxDivisor, GetDivisor(nums[i], nums[j]));
                }
        }

        printf("%d", maxDivisor);

        return 0;
}

int GetDivisor(int big, int small){
        if(big%small) return GetDivisor(small, big%small);
        return small;
}

ტესტები

შემავალი მონაცემები
3
45 30 100
გამომავალი მონაცემები
15
თქვენი პასუხი
15
ჩეკერის პასუხი
YES
შემავალი მონაცემები
5
128 32 64 512 1024
გამომავალი მონაცემები
512
თქვენი პასუხი
512
ჩეკერის პასუხი
YES
შემავალი მონაცემები
9
873782 9012 288288288 1944 67444 144144144 71876166 762272 8990288
გამომავალი მონაცემები
144144144
თქვენი პასუხი
144144144
ჩეკერის პასუხი
YES
შემავალი მონაცემები
7
7612746 387387 46388 325353 900321 774 763276
გამომავალი მონაცემები
387
თქვენი პასუხი
387
ჩეკერის პასუხი
YES
შემავალი მონაცემები
5
79 997 43 777779 83
გამომავალი მონაცემები
1
თქვენი პასუხი
1
ჩეკერის პასუხი
YES
შემავალი მონაცემები
4
1000000 1000000 1000000 1000000
გამომავალი მონაცემები
1000000
თქვენი პასუხი
1000000
ჩეკერის პასუხი
YES
შემავალი მონაცემები
5
8448884 448844 8444888 484884 4448884
გამომავალი მონაცემები
44
თქვენი პასუხი
44
ჩეკერის პასუხი
YES
შემავალი მონაცემები
3
34 17 170
გამომავალი მონაცემები
34
თქვენი პასუხი
34
ჩეკერის პასუხი
YES
შემავალი მონაცემები
4
1024 2048 4 88888
გამომავალი მონაცემები
1024
თქვენი პასუხი
1024
ჩეკერის პასუხი
YES
შემავალი მონაცემები
6
3 5 7 11 2000000000 1000000000 
გამომავალი მონაცემები
1000000000
თქვენი პასუხი
1000000000
ჩეკერის პასუხი
YES