Submission #38038241
Source Code Expand
#include<bits/stdc++.h>
#define mod 1000000007
using namespace std;
long long power(long long a,long long b){
long long x=1,y=a;
while(b>0){
if(b&1ll){
x=(x*y)%mod;
}
y=(y*y)%mod;
b>>=1;
}
return x%mod;
}
long long modular_inverse(long long n){
return power(n,mod-2);
}
long long factorial[524288];
long long invfact[524288];
void cfact(){
long long i;
factorial[0]=1;
factorial[1]=1;
for(i=2;i<524288;i++){
factorial[i]=factorial[i-1]*i;
factorial[i]%=mod;
}
invfact[524287]=modular_inverse(factorial[524287]);
for(i=524286;i>=0;i--){
invfact[i]=invfact[i+1]*(i+1);
invfact[i]%=mod;
}
}
long long calcnCr(long long n,long long k){
if(k<0 || n<k){return 0;}
return (factorial[n]*((invfact[k]*invfact[n-k])%mod))%mod;
}
#define DEG 10005
int main(){
cfact();
long long n,k;
cin >> n >> k;
vector<long long> e(k);
for(auto &nx : e){cin >> nx;}
vector<long long> poly(DEG);
poly[0]=1;
for(int tim=0;tim<n;tim++){
for(int i=1;i<DEG;i++){
poly[i]+=poly[i-1];
poly[i]%=mod;
}
}
long long res=0;
for(long long i=0;i<=n;i++){
long long del=calcnCr(n,i);
if(i%2){del=(mod-del)%mod;}
for(auto &nx : e){
del*=poly[nx];
del%=mod;
}
res+=del;res%=mod;
for(int j=DEG-1;j>=1;j--){
poly[j]+=(mod-poly[j-1]);
poly[j]%=mod;
}
for(int j=2;j<DEG;j++){
poly[j]+=poly[j-2];
poly[j]%=mod;
}
}
cout << res << "\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | Ex - Avoid Square Number |
| User | physics0523 |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1584 Byte |
| Status | AC |
| Exec Time | 1092 ms |
| Memory | 11984 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 17 ms | 11896 KiB |
| sample_02.txt | AC | 34 ms | 11804 KiB |
| test_01.txt | AC | 13 ms | 11900 KiB |
| test_02.txt | AC | 17 ms | 11688 KiB |
| test_03.txt | AC | 16 ms | 11836 KiB |
| test_04.txt | AC | 16 ms | 11832 KiB |
| test_05.txt | AC | 702 ms | 11896 KiB |
| test_06.txt | AC | 702 ms | 11800 KiB |
| test_07.txt | AC | 1091 ms | 11948 KiB |
| test_08.txt | AC | 1091 ms | 11824 KiB |
| test_09.txt | AC | 1091 ms | 11904 KiB |
| test_10.txt | AC | 1092 ms | 11948 KiB |
| test_11.txt | AC | 1089 ms | 11928 KiB |
| test_12.txt | AC | 1092 ms | 11908 KiB |
| test_13.txt | AC | 20 ms | 11764 KiB |
| test_14.txt | AC | 170 ms | 11748 KiB |
| test_15.txt | AC | 984 ms | 11960 KiB |
| test_16.txt | AC | 26 ms | 11852 KiB |
| test_17.txt | AC | 639 ms | 11696 KiB |
| test_18.txt | AC | 1089 ms | 11972 KiB |
| test_19.txt | AC | 23 ms | 11948 KiB |
| test_20.txt | AC | 44 ms | 11824 KiB |
| test_21.txt | AC | 698 ms | 11832 KiB |
| test_22.txt | AC | 20 ms | 11800 KiB |
| test_23.txt | AC | 596 ms | 11748 KiB |
| test_24.txt | AC | 843 ms | 11732 KiB |
| test_25.txt | AC | 17 ms | 11760 KiB |
| test_26.txt | AC | 604 ms | 11784 KiB |
| test_27.txt | AC | 1090 ms | 11904 KiB |
| test_28.txt | AC | 16 ms | 11824 KiB |
| test_29.txt | AC | 395 ms | 11828 KiB |
| test_30.txt | AC | 699 ms | 11908 KiB |
| test_31.txt | AC | 22 ms | 11876 KiB |
| test_32.txt | AC | 26 ms | 11748 KiB |
| test_33.txt | AC | 907 ms | 11844 KiB |
| test_34.txt | AC | 25 ms | 11764 KiB |
| test_35.txt | AC | 651 ms | 11932 KiB |
| test_36.txt | AC | 1089 ms | 11880 KiB |
| test_37.txt | AC | 21 ms | 11824 KiB |
| test_38.txt | AC | 191 ms | 11948 KiB |
| test_39.txt | AC | 700 ms | 11760 KiB |
| test_40.txt | AC | 17 ms | 11760 KiB |
| test_41.txt | AC | 530 ms | 11692 KiB |
| test_42.txt | AC | 719 ms | 11880 KiB |
| test_43.txt | AC | 29 ms | 11936 KiB |
| test_44.txt | AC | 1014 ms | 11828 KiB |
| test_45.txt | AC | 1091 ms | 11840 KiB |
| test_46.txt | AC | 24 ms | 11772 KiB |
| test_47.txt | AC | 118 ms | 11984 KiB |
| test_48.txt | AC | 702 ms | 11764 KiB |