题目链接:http://codeforces.com/problemset/problem/158/A
题目大意:n个人,k个达标资格,问达标的人数
虽然有k个资格,但是会有同分的,同分的因为排名相等所以均被录取,但是大前提是所得分数必须为正数,0或负数均不可以,因此人数也有可能少于k
#include<bits/stdc++.h> using namespace std; int A[110],n,k,i; int main(){ scanf("%d%d",&n,&k); for(i=1;i<=n;i++)scanf("%d",A+i); sort(A+1,A+n+1); i=n-k+1; if(A[i]<=0)while(i<=n&&A[i]<=0)i++,k--; else while(i>1&&A[i-1]==A[i])i--,k++; printf("%d\n",k); return 0; }
时间: 2024-12-29 23:33:04