Submission #1301401
Source Code Expand
import java.math.BigDecimal; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Scanner scan = new Scanner(System.in); int N=scan.nextInt(); int A=scan.nextInt(); int B=scan.nextInt(); long[]v = new long[N]; for(int i=0;i<N;i++){ v[i]=scan.nextLong(); } Arrays.sort(v); long sumv=0; double average=0; for(int i=0;i<A;i++){ sumv+=v[N-1-i]; } average=(double)(sumv)/A; System.out.println(BigDecimal.valueOf(average).toPlainString()); if(v[N-A]==v[N-1]){ //全部同じ int cnt=0; for(int i=0;i<N;i++){ if(v[i]==v[N-1]){ cnt++; } } //cntからA個とる組み合わせ+A+1個とる組み合わせ+....+B個 or 持ってる数 とる組み合わせ int A_=0; for(int i=0;i<N;i++){ if(v[i]==v[N-A]){ A_++; } } B=Math.min(B, A_); long com = 0; for(int i=A;i<=B;i++){ com+=combination(cnt,i); } System.out.println(com); }else{ int cnt=0; for(int i=0;i<N;i++){ if(v[i]==v[N-A]){ cnt++; } } int A_=0; for(int i=N-A;i<N;i++){ if(v[i]==v[N-A]){ A_++; } } //cntからA_個とる組み合わせ System.out.println(combination(cnt,A_)); } } static long combination(int n,int k){ //nCk int k_=n-k; long ans=1; int temp=1; for(int i=1;i<=k_;i++){ ans*=temp; ans/=i; temp++; } for(int i=1;i<=k;i++){ ans*=temp; ans/=i; temp++; } return ans; } }
Submission Info
Submission Time | |
---|---|
Task | D - Maximum Average Sets |
User | inmir |
Language | Java8 (OpenJDK 1.8.0) |
Score | 400 |
Code Size | 1656 Byte |
Status | AC |
Exec Time | 114 ms |
Memory | 22100 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 101 ms | 22100 KB |
sample_02.txt | AC | 96 ms | 20816 KB |
sample_03.txt | AC | 95 ms | 20820 KB |
sample_04.txt | AC | 99 ms | 20052 KB |
subtask_1_1.txt | AC | 100 ms | 21844 KB |
subtask_1_10.txt | AC | 100 ms | 21972 KB |
subtask_1_11.txt | AC | 102 ms | 19924 KB |
subtask_1_12.txt | AC | 102 ms | 21588 KB |
subtask_1_13.txt | AC | 102 ms | 21712 KB |
subtask_1_14.txt | AC | 104 ms | 21332 KB |
subtask_1_15.txt | AC | 100 ms | 21076 KB |
subtask_1_2.txt | AC | 97 ms | 21972 KB |
subtask_1_3.txt | AC | 105 ms | 19668 KB |
subtask_1_4.txt | AC | 102 ms | 20944 KB |
subtask_1_5.txt | AC | 102 ms | 20948 KB |
subtask_1_6.txt | AC | 114 ms | 20820 KB |
subtask_1_7.txt | AC | 101 ms | 20820 KB |
subtask_1_8.txt | AC | 100 ms | 20812 KB |
subtask_1_9.txt | AC | 102 ms | 19796 KB |