알고리즘 문제풀이/백준

[백준 1205] 등수 구하기

홍시홍 2020. 3. 11. 22:40

요구사항

제시된 등수 안에서 나의 점수가 몇등인지 구하기

 

풀이

1. 등수의 끝에서 비교될 경우 -1

2. 아닐 경우는 자기 보다 큰 점수가 몇개 인지 카운트한다

 

#include <iostream>
#include <list>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
bool com1(ll a, ll b) {
	if (a > b) return true;
	return false;
}
ll n, score, p;
vector<ll> li;
int main() {
	scanf("%lld%lld%lld", &n, &score, &p);
	for (int i = 0; i < n; i++) {
		ll x;
		scanf("%lld", &x);
		li.push_back(x);
	}
	int cnt = 1;
	sort(li.begin(), li.end(),com1);

	if (n == p && li.at(n - 1) >=score) {
		printf("-1\n");
	}
	else {
		for (int i = 0; i < li.size(); i++) {
			if (li.at(i) > score) { 
				cnt++; 
			}
			else break;
		}
		printf("%d\n", cnt);
	}


}