Cực trị theo tính chất đồng dư


Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho dãy số nguyên a1,a2,...,an hãy tìm giá trị nhỏ nhất và lớn nhất của những số chia cho 3 dư 0, chia cho 3 dư 1 và chia cho 3 dư 2.

Input

Dòng đầu chứa số nguyên dương n (1<=n<=105)

Dòng tiếp theo có chứa n số nguyên có giá trị tuyệt đối không vượt quá 104

Output

Ba dòng tương ứng với min và max của những số chia 3 dư 0, dư 1 và dư 2,

Trường hợp không có số nào chia 3 dư 0 xuất ra "Khong co so nao chia 3 du 0"

Trường hợp không có số nào chia 3 dư 1 xuất ra "Khong co so nao chia 3 du 1"

Trường hợp không có số nào chia 3 dư 2 xuất ra "Khong co so nao chia 3 du 2"

Ví dụ 1

Input

Copy
7
4 7 2 8 1 6 3

Output

Copy
3 6
1 7
2 8

Ví dụ 2

Input

Copy
7
-4 -7 -2 -8 -1 -6 -3

Output

Copy
-6 -3
-8 -2
-7 -1

Ví dụ 3

Input

Copy
3
3 6 9

Output

Copy
3 9
Khong co so nao chia 3 du 1
Khong co so nao chia 3 du 2
tichpx

Comments


  • -1
    HữuSáng_CNTT6_K61  commented on Nov. 19, 2021, 3:20 a.m. edited

    ...


  • 1
    hoanghai_CNTT6_K61  commented on Nov. 18, 2021, 5:11 p.m.

    mn xem giúp mình với :( chạy toàn RTE

    Copy
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        long long n,max0,max1,max2,min0,min1,min2,d0=0,d1=0,d2=0,a[100];
        scanf("%lld",&n);
        for (int i=0 ; i<n ; i++)
        {
            scanf("%lld",&a[i]);
        }
        for (int i=0 ; i<n ; i++)
        {
            if (a[i]%3==0)
            {
    //          cout<<a[i]<<" "<<endl;
                d0++;
                max0=a[i];
                min0=a[i];
            }
            if (a[i]>0)
            {
                if (a[i]%3==1)
                {
    //              cout<<a[i]<<" ";
                    d1++;
                    max1=a[i];
                    min1=a[i];              
                }
                if (a[i]%3==2)
                {
    //              cout<<a[i]<<" "<<endl;
                    d2++;
                    max2=a[i];
                    min2=a[i];
                }
            }
            if (a[i]<0)
            {
                if (a[i]%3==-2)
                {
    //              cout<<a[i]<<" "<<endl;
                    d1++;
                    max1=a[i];
                    min1=a[i];
                }
                if (a[i]%3==-1)
                {
    //              cout<<a[i]<<" "<<endl;
                    d2++;
                    max2=a[i];
                    min2=a[i];              
                }
            }       
        }
        for (int i=0 ; i<n ; i++)
        {
            if (a[i]%3==0 && a[i]>max0) max0=a[i];
            if (a[i]%3==0 && a[i]<min0) min0=a[i];
            if (a[i]<0 && a[i]%3==-2 && a[i]>max1) max1=a[i];
            if (a[i]<0 && a[i]%3==-2 && a[i]<min1) min1=a[i];
            if (a[i]<0 && a[i]%3==-1 && a[i]>max2) max2=a[i];
            if (a[i]<0 && a[i]%3==-1 && a[i]<min2) min2=a[i];               
            if (a[i]>0 && a[i]%3==1 && a[i]>max1)   max1=a[i];
            if (a[i]>0 && a[i]%3==1 && a[i]<min1)   min1=a[i];
            if (a[i]>0 && a[i]%3==2 && a[i]>max2)   max2=a[i];
            if (a[i]>0 && a[i]%3==2 && a[i]<min2)   min2=a[i];
    
        }
        if (d0==0)  printf("Khong co so nao chia 3 du 0");
        else        printf("%lld %lld",min0,max0);
        if (d1==0)  printf("\nKhong co so nao chia 3 du 1");
        else        printf("\n%lld %lld",min1,max1);
        if (d2==0)  printf("\nKhong co so nao chia 3 du 2");
        else        printf("\n%lld %lld",min2,max2);
    }

    • 1
      LãoTam  commented on Nov. 18, 2021, 5:13 p.m.

      Tăng lên 100000 thay vì100 đi


      • 1
        hoanghai_CNTT6_K61  commented on Nov. 18, 2021, 5:17 p.m.

        vẫn không ổn


        • 2
          LãoTam  commented on Nov. 18, 2021, 5:20 p.m.

          Ô thay a[100] thành a[100000] là sẽ AC


  • 1
    TICHPX  commented on Nov. 7, 2019, 10:10 a.m.

    Chú ý -1 thì chia 3 dư 2 còn -2 thì chia 3 dư 1 nhé