Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

1R/2016 07 05: Difference between revisions

From ZeroWiki
No edit summary
No edit summary
Line 10: Line 10:
|-
|-
| 박인서
| 박인서
| 15학번
|-
| 15이원준
| 15학번
| 15학번
|}
|}
= 코드 =
= 코드 =
== 박인서 ==
== 박인서 ==

Revision as of 15:11, 5 July 2016

오늘의 문제

경진대회

참가자

이름 학번
박인서 15학번
15이원준 15학번

코드

박인서

#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	setbuf(stdout, NULL);
	
	int TC;
	int test_case;
    
	scanf("%d", &TC);
	for(test_case = 1; test_case <= TC; test_case++) {
	    int n;
	    vector<int> a;
	    scanf("%d", &n);
	    for(int i=0;i<n;i++){
	        int t;
	        scanf("%d", &t);
	        a.push_back(t);
	    }
	    sort(a.begin(),a.end());
	    
	    //마지막 대회 시행 및 1등 점수 저장
	    int max=0;
	    for(int i=0;i<n;i++)
	        if(max<a[i]+n-i) max=a[i]+n-i;
	    
	    //1등 가능성 따짐
	    int cnt=0;
	    for(int i=0;i<n;i++)
	        if(max<=a[i]+n) cnt++;

	    printf("Case #%d\n%d\n", test_case, cnt);
	}
	return 0;
}

아이디어

박인서

  • 마지막 대회에서 종합 점수 1등이 1점, 2등이 2점, ... , n등이 n점일 때 1등 가능성이 가장 많아짐.
  • 따라서 마지막 대회가 위와 같이 이상적으로 이루어진다고 가정하고, 마지막 대회 결과 최댓값을 각자가 1등 하였을 때를 비교한다.