Submission #1935085
Source Code Expand
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <math.h> #include <limits.h> #include <assert.h> #define FOR(i,a,n) for(i=(a);i<(n);i++) #define swap(type,a,b) do{type t=a;a=b;b=t;}while(0) #define MAX(a,b) (((a)>(b))?(a):(b)) #define MIN(a,b) (((a)<(b))?(a):(b)) #define ll long long #define INF 100000000 #define MOD 1000000007 #define SIZE 1000 #define LOCAL #ifdef LOCAL #define DEBUG(...) printf(" "__VA_ARGS__) #else #define DEBUG(...) #endif /* LOCAL */ int comp(const void* a,const void* b){ return *(int*)a-*(int*)b; } ll inv[SIZE],f[SIZE],finv[SIZE]; void make_table(){ int i; f[0]=f[1]=1; finv[0]=finv[1]=1; inv[1]=1; FOR(i,2,SIZE){ inv[i]=MOD-(MOD/i)*inv[MOD%i]%MOD; f[i]=(f[i-1]*(ll)i)%MOD; finv[i]=(finv[i-1]*inv[i])%MOD; } return; } ll comb(int n,int k){ if(n<0||k<0||n<k) return 0; return (((f[n]*finv[k])%MOD)*finv[n-k])%MOD; } int main(void) { int n,k; make_table(); scanf("%d%d",&n,&k); if(n<=k) printf("%lld\n",comb(n,k%n)); else printf("%lld\n",comb(n+k-1,k)); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 高橋幼稚園 |
User | trainstation |
Language | C (GCC 5.4.1) |
Score | 100 |
Code Size | 1132 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 128 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:47:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&k); ^
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 80 | 20 / 20 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
Subtask1 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt |
Subtask2 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 1 ms | 128 KB |
subtask0_sample_02.txt | AC | 1 ms | 128 KB |
subtask0_sample_03.txt | AC | 1 ms | 128 KB |
subtask1_01.txt | AC | 1 ms | 128 KB |
subtask1_02.txt | AC | 1 ms | 128 KB |
subtask1_03.txt | AC | 1 ms | 128 KB |
subtask1_04.txt | AC | 1 ms | 128 KB |
subtask1_05.txt | AC | 1 ms | 128 KB |
subtask1_06.txt | AC | 1 ms | 128 KB |
subtask1_07.txt | AC | 1 ms | 128 KB |
subtask1_08.txt | AC | 1 ms | 128 KB |
subtask1_09.txt | AC | 1 ms | 128 KB |
subtask1_10.txt | AC | 1 ms | 128 KB |
subtask1_11.txt | AC | 1 ms | 128 KB |
subtask1_12.txt | AC | 1 ms | 128 KB |
subtask1_13.txt | AC | 1 ms | 128 KB |
subtask1_14.txt | AC | 1 ms | 128 KB |
subtask1_15.txt | AC | 1 ms | 128 KB |
subtask1_16.txt | AC | 1 ms | 128 KB |
subtask1_17.txt | AC | 1 ms | 128 KB |
subtask1_18.txt | AC | 1 ms | 128 KB |
subtask1_19.txt | AC | 1 ms | 128 KB |
subtask2_01.txt | AC | 1 ms | 128 KB |
subtask2_02.txt | AC | 1 ms | 128 KB |
subtask2_03.txt | AC | 1 ms | 128 KB |
subtask2_04.txt | AC | 1 ms | 128 KB |
subtask2_05.txt | AC | 1 ms | 128 KB |
subtask2_06.txt | AC | 1 ms | 128 KB |
subtask2_07.txt | AC | 1 ms | 128 KB |
subtask2_08.txt | AC | 1 ms | 128 KB |
subtask2_09.txt | AC | 1 ms | 128 KB |
subtask2_10.txt | AC | 1 ms | 128 KB |
subtask2_11.txt | AC | 1 ms | 128 KB |