VT03 - Chỉ số mảng có giá trị lớn nhất

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
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


Comments

Please read the guidelines before commenting.



  • 5
    nguyenductoan59  commented on April 3, 2024, 3:07 p.m.

    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  commented on March 8, 2024, 12:17 p.m.

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


    • 0
      duydoc86  commented on March 8, 2024, 12:21 p.m.

      k cần nữa rồi mn


  • 0
    thanh30  commented on March 8, 2024, 4:44 a.m.

    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  commented on March 7, 2024, 8:47 a.m.

    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  commented on March 7, 2024, 8:43 a.m.

    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  commented on Feb. 12, 2024, 4:21 a.m.

    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__  commented on Feb. 11, 2024, 2:17 p.m.

    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; }


  • -13
    zntp810__  commented on Feb. 4, 2024, 10:55 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • 2
      PhamDacVietAnh2023_LTK  commented on Feb. 21, 2024, 11:01 a.m.

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


  • -1
    thang123456789  commented on Jan. 22, 2024, 1:40 p.m.

    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; }


  • -2
    thh  commented on Jan. 21, 2024, 3:40 a.m. edit 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  commented on Jan. 15, 2024, 3:33 a.m.

    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  commented on Dec. 24, 2023, 10:46 a.m.

    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  commented on Jan. 3, 2024, 6:21 a.m.

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


  • 0
    deno  commented on Dec. 8, 2023, 3:06 p.m.

    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  commented on Nov. 21, 2023, 7:34 a.m. edit 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  commented on Nov. 14, 2023, 12:35 p.m.

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


  • -4
    255NightFury  commented on Sept. 17, 2023, 1:54 p.m.

    Đề sai à


    • 0
      ngkhacbaolam2809  commented on Oct. 11, 2023, 8:52 a.m.

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


  • -4
    prodkt54  commented on Sept. 11, 2023, 5:36 p.m.

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


    • -4
      codega  commented on Oct. 18, 2023, 7:47 a.m.

      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  commented on Aug. 30, 2023, 3:58 a.m.

    test 3 là gì v nhỉ


    • 1
      bar190504  commented on Sept. 9, 2023, 9:12 a.m.

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


  • -22
    chucuoi2k10  commented on Aug. 9, 2023, 10:26 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.