【Codeforces 158A】Next Round

【链接】 我是链接,点我呀:)
【题意】

让你找到排名的前k名,并列的话,如果分数大于0那么就算晋级 问你最后有多少人可以晋级.

【题解】

按照题意模拟就好, 先按照a[max] = a[k]的规则找到下标的最大值max 然后依据a[max]==0的规则,一直减小这个max. 直到max变成0为止。 最后输出max就好了

【代码】

import java.util.Scanner;

public class Main {
	
	public static int N = 50;
	
	public static int n,k;
	public static int a[];
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		a = new int[N+10];
		
		n = in.nextInt();k = in.nextInt();
		for (int i = 1;i <= n;i++) a[i]= in.nextInt();
		int ma = k;
		for (int i = k+1;i <= n;i++)
			if (a[i]==a[k]) {
				ma = i;
			}
		while (a[ma]==0 && ma>=1) ma--;
		System.out.println(ma);
	}
}

原文地址:https://www.cnblogs.com/AWCXV/p/10330527.html