VT03 - Chỉ số mảng có giá trị 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 mảng các số nguyên ~A~ có ~n~ phần tử, bạn hãy tìm ra chỉ số của phần tử lớn nhất trong mảng.

Lưu ý: Chỉ số được tính bắt đầu từ 0

Input

  • Dòng đầu tiên là số nguyên dương ~n~, số lượng phần tử của mảng
  • Dòng tiếp theo là ~n~ số nguyên của mảng

Giới hạn:

  • ~1 \le n \le 10^6~
  • ~|A_{i}| \le 10^9~

Output

  • Chỉ số của phần tử lớn nhất trong mảng. Nếu có nhiều chỉ số hợp lệ, in ra chỉ số lớn nhất

Sample

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

Giải thích: Phần từ lớn nhất trong mảng có giá trị là 5, ở chỉ số 4


Bình luận

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



  • 5
    nguyenductoan59  đã bình luận lúc 3, Tháng 4, 2024, 15:07

    CODE C++ ĐÃ AC

    include <bits/stdc++.h>

    using namespace std;

    int main() {

    int n;
    cin >> n;
    int a[n];
    for (int i = 0; i&lt;n; i++)
    {
        cin >> a[i];
    }
    int max1 = a[0];
    int chiso = 0;
    for (int i =0; i < n; i++)
    {
        if (a[i]>=max1)
        {
            max1 = a[i];
            chiso = i;
        }
    }
    cout << chiso << endl;
    return 0;
    

    } MỌI NGƯỜI CHO MÌNH XIN 1 VOTE NHA


  • 0
    duydoc86  đã bình luận lúc 8, Tháng 3, 2024, 12:17

    test 3 là gì vậy hả mọi người


    • 0
      duydoc86  đã bình luận lúc 8, Tháng 3, 2024, 12:21

      k cần nữa rồi mn


  • 0
    thanh30  đã bình luận lúc 8, Tháng 3, 2024, 4:44

    int main(){ int n; scanf("%d",&n); int arr[n]; for(int i = 0;i<n;i++){ scanf("%d", &arr[i]); } int index = 0; for(int i = 1;i<n;i++){ if(arr[i]>=arr[index])index=i; } printf("%d",index); return 0; }


  • 0
    sairon2k8  đã bình luận lúc 7, Tháng 3, 2024, 8:47

    include <bits/stdc++.h>

    using namespace std;
    int main(){
    int n; cin >> n;
    int a[n];
    for (int i = 0; i<n; i++){
    cin >> a[i];
    }
    int max1 = a[0];
    int chiso = 0;
    for (int i =0; i < n; i++){
    if (a[i]>=max1){
    max1 = a[i]; chiso = i;
    }
    }
    cout << chiso << endl;
    return 0;
    }


  • 0
    sairon2k8  đã bình luận lúc 7, Tháng 3, 2024, 8:43

    include <bits/stdc++.h>

    using namespace std;
    void nhap(int a[],int n){
    for (int i=0;i<n;i++){
    cin>>a[i];
    }
    }
    int max (int a[],int n){
    int mx =a[0];
    for (int i=0;i<n;i++){
    if (mx<a[i]){
    mx=a[i];
    }
    }
    return mx;
    }
    int main(){
    int n;cin>>n;
    int a[n];
    nhap(a,n);
    long long mxi= max(a,n);
    for (int j=0;j<n;j++){
    if (mxi==a[j]){
    cout <<j;
    return 0;
    }
    }
    return 0;
    }
    test 4 hết cứu


  • 1
    phan_phat_dat  đã bình luận lúc 12, Tháng 2, 2024, 4:21

    Hỡi các tín đồ python, nếu bí thì hãy tham khảo hoặc nếu có cách tối ưu hơn thì chia sẽ nhá

    n=int(input())

    a=list(map(int,input().split()))

    max_a=max(a)

    num=a.count(max_a)

    if num==1:

    print(a.index(max_a))
    

    else:

    for i in range (n)[::-1]:
    
        if a[i]==max_a:
    
            print(i)
    
            break
    

  • 1
    thinhec12012007__  đã bình luận lúc 11, Tháng 2, 2024, 14:17

    include <bits/stdc++.h>

    const int N=1e6+7; using namespace std; int n; int a[N]; int res; int main() { iosbase::syncwith_stdio(false); cin.tie();cout.tie(); cin>>n; int gan=-1999999; for(int i=0;i<n;i++) { cin>>a[i]; if(a[i]>=gan) { gan=a[i]; res=i; } } cout<<res; return 0; }


  • -10
    zntp810__  đã bình luận lúc 4, Tháng 2, 2024, 22:55

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 1
      PhamDacVietAnh2023_LTK  đã bình luận lúc 21, Tháng 2, 2024, 11:01

      nứng cặc ra chửi admin à thằng trẩu tre não sinh tố?


  • -1
    thang123456789  đã bình luận lúc 22, Tháng 1, 2024, 13:40

    using namespace std;

    int main(){ int n; cin >> n; int a[n]; for (int i = 0; i<n; i++){ cin >> a[i]; } int max1 = a[0]; int chiso = 0; for (int i =0; i < n; i++){ if (a[i]>=max1){ max1 = a[i]; chiso = i; } } cout << chiso << endl; return 0; }


  • -1
    thh  đã bình luận lúc 21, Tháng 1, 2024, 3:40 sửa 5

    Hướng giải rất đơn giản:

    Ta nhập n rồi for nhập mảng,trong lúc nhập mảng lấy luôn maxn(là số >= số đang có) và chỉ số(của số lớn hơn)

    Code C++ cho ai vẫn chưa hiểu nè:

    include <bits/stdc++.h>

    define int long long

    using namespace std;

    int n, a, inx = 0, maxn = INT_MIN;

    void solve() {

    cin >> n; for(int i = 1;i <= n; ++i) { cin >> a;

    if(a >= maxn) { maxn = a; inx = i - 1; //ở đây mik để index tính từ 1 nên phải trừ đi 1 :)) } } cout << inx; }

    main() {

    iosbase::syncwith_stdio(false); cin.tie(nullptr);cout.tie(nullptr);

    solve(); }


  • 0
    hailuacx  đã bình luận lúc 15, Tháng 1, 2024, 3:33

    include <bits/stdc++.h>

    using namespace std;

    int main(){ int n; cin >> n; int a[n]; for (int i = 0; i<n; i++){ cin >> a[i]; } int max1 = a[0]; int chiso = 0; for (int i =0; i < n; i++){ if (a[i]>=max1){ max1 = a[i]; chiso = i; } } cout << chiso << endl; return 0; }


  • 0
    kitajima2910  đã bình luận lúc 24, Tháng 12, 2023, 10:46

    Hỡi các tính đồ Java 8+, ai chưa làm được tham khảo nhé :v , thấy hay up vote mình với:

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.List;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.TreeMap;
    
    /**
     *
     * @author Kitajima2910
     */
    public class VT03 {
    
        public static void main(String[] args) {
    
            Scanner s = new Scanner(System.in);
    
            int n = s.nextInt();
    
            Map&lt;Integer, Integer> m = new TreeMap<>(Comparator.reverseOrder());
    
            for(int i = 0; i < n; i++) {
                int e = s.nextInt();
                m.put(e, i);
            }
    
            List<Integer> r = new ArrayList<>(m.values());
    
            System.out.println(r.get(0));
        }
    
    }
    

    • 2
      dinhvantung0611  đã bình luận lúc 3, Tháng 1, 2024, 6:21

      Làm vậy họ chỉ copy and paste thôi, muốn giúp thì đưa ra ý tưởng là đc


  • 0
    deno  đã bình luận lúc 8, Tháng 12, 2023, 15:06

    DENO :

    #include <stdio.h> #include <math.h> int main(){ long long a[50]; long long n; long long max=-999999; long long max2=max; scanf("%lld",&n); for(int i=0;i<n;i++){ scanf("%lld",&a[i]); } for(int i=0;i<n;i++){ if(a[i]>max) max=a[i]; } for(int i=0;i<n;i++){ if(a[i]==max){ if(i>max2) max2=i; } } printf("%lld",max2); }


  • 0
    Hh13_0509  đã bình luận lúc 21, Tháng 11, 2023, 7:34 sửa 2

    using namespace std; int a[1005],n,dem=0,mx=INT_MIN,cs; int main() { cin>>n; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n;i++)if(a[i]>=mx){mx=a[i];cs=i;}

    cout<&lt;cs;
    

    }


  • -1
    Bachuthegioi  đã bình luận lúc 14, Tháng 11, 2023, 12:35

    cho em hỏi test 4 là gì v ạ


  • -4
    255NightFury  đã bình luận lúc 17, Tháng 9, 2023, 13:54

    Đề sai à


    • 0
      ngkhacbaolam2809  đã bình luận lúc 11, Tháng 10, 2023, 8:52

      Đọc kỹ đề nhé ! Đề bảo Chỉ Số Phần Tử


  • -4
    prodkt54  đã bình luận lúc 11, Tháng 9, 2023, 17:36

    dùng pair hoặc struct sort lại rồi in ra index cuối.


    • -4
      codega  đã bình luận lúc 18, Tháng 10, 2023, 7:47

      tìm max pt trong mảng r in ra chỉ số là dc mà cần gì phức tạp đến v kk


  • -4
    hieubmt1112004  đã bình luận lúc 30, Tháng 8, 2023, 3:58

    test 3 là gì v nhỉ


    • 1
      bar190504  đã bình luận lúc 9, Tháng 9, 2023, 9:12

      test 3 là chỉ số lớn nhất khi có 2 phần tử bằng nhau luôn


  • -22
    chucuoi2k10  đã bình luận lúc 9, Tháng 8, 2023, 22:26

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.