MINMAX - Số bé nhất và số lớn nhất

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho một dãy gồm ~n~ số nguyên, tìm phần tử bé nhất và lớn nhất trong dãy.

Input

  • Dòng đầu tiên chứa duy nhất một số nguyên dương ~n~ (số phần tử trong dãy).
  • Dòng thứ hai chứa n số nguyên là các phần tử ~a_1,a_2,…,a_n~

Giới hạn:

  • ~1≤n≤10^5,-10^9≤a_i≤10^9~

Output

  • In ra trên một dòng bốn số theo thứ tự như sau: số bé nhất, vị trí số bé nhất, số lớn nhất, vị trí của số lớn nhất (các số cách nhau bởi một dấu cách).

Chú ý:

  • Nếu có nhiều số bằng nhau và cùng bé nhất thì chọn số xuất hiện đầu tiên (tương tự đối với số lớn nhất)
  • Vị trí tính từ ~1~

Sample

Input #1
5
2 1 1 2 3
Output #1
1 2 3 5
Input #2
5
3 1 3 1 2
Output #2
1 2 3 1

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    Huyluyencode17  đã bình luận lúc 24, Tháng 11, 2024, 6:53

    test case 5 là gì thế mn?


  • -1
    thinhec12012007__  đã bình luận lúc 19, Tháng 2, 2024, 7:59

    Bài này mn chỉ cần làm đơn giản là : cho max là giá trị bé nhất(nhỏ hơn giá trị bé nhất trong mảng), cho min là giá trị lớn nhất(lớn hơn giá trị lớn nhất trong mảng) sau đó mn chỉ cần kt hai biến max và min và lưu lại vị trí của max và min là đc


  • -2
    ngusidan123  đã bình luận lúc 9, Tháng 2, 2024, 8:08

    duyệt ngược từ i=n-1 > i=0 sau đó dùng map để đánh dấu map[a[i]] = i+1 . rồi sắp xếp tăng dần sau cùng in ra a[0] map[a[0]] a[n-1] map[a[n-1]]