Submission #5413839
Source Code Expand
#include <bits/stdc++.h> const int INF=1e9,MOD=1e9+7; const long long LINF=1e18; using namespace std; #define int long long //template /* 数え上げpdfを読んで 3条件を満たせば全て作れる ・各桁の和がM以下 ・1から引いたやつの各桁の和がN以下 ・各桁の和はM-a(K-1) この3つを満たせばいいのはどうして? 3つ目の条件と同じ数になるように最初に1を消してしまうことは出来るし、0も同じようにして減らせる そうしたら各桁に対してそれを集めてそれとぎゅってすればおっけー たとえば0.304が作りたかったらまず1を7個、0を3K-9個にした後、1を4個と0をK-4個でぎゅってして、 出来た0.4と0をK-1個でぎゅってして、出来た0.04と1を3個と0をK-4個ぎゅってすればオッケー */ int dp[5010][5010]; //main signed main(){ int N,M,K;cin>>N>>M>>K; std::vector<int> w(5015,0); memset(dp,0,sizeof(dp)); dp[0][0]=1; for(int i=0;i<=5000;i++){ for(int j=0;j<=5000;j++)w[j+1]=(w[j]+dp[i][j])%MOD; for(int j=0;j<=5000;j++)dp[i+1][j]=(w[j+1]-w[max(0LL,j-(K-1))]+MOD)%MOD; } int ans=0; for(int i=0;i<=5000;i++){ for(int j=1;j<=5000;j++){ if(M-j>=0&&(M-j)%(K-1)==0&&i*(K-1)+1-j==N)ans+=dp[i][j]; ans%=MOD; } } cout<<ans<<endl; }
Submission Info
Submission Time | |
---|---|
Task | E - Eternal Average |
User | drogskol |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1372 Byte |
Status | AC |
Exec Time | 459 ms |
Memory | 196480 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 297 ms | 196352 KB |
02.txt | AC | 381 ms | 196352 KB |
03.txt | AC | 297 ms | 196480 KB |
04.txt | AC | 297 ms | 196352 KB |
05.txt | AC | 459 ms | 196352 KB |
06.txt | AC | 433 ms | 196352 KB |
07.txt | AC | 297 ms | 196352 KB |
08.txt | AC | 328 ms | 196352 KB |
09.txt | AC | 380 ms | 196352 KB |
10.txt | AC | 377 ms | 196352 KB |
11.txt | AC | 376 ms | 196352 KB |
12.txt | AC | 384 ms | 196352 KB |
13.txt | AC | 374 ms | 196352 KB |
14.txt | AC | 350 ms | 196352 KB |
15.txt | AC | 374 ms | 196352 KB |
16.txt | AC | 326 ms | 196352 KB |
17.txt | AC | 362 ms | 196352 KB |
18.txt | AC | 380 ms | 196352 KB |
19.txt | AC | 301 ms | 196352 KB |
20.txt | AC | 385 ms | 196352 KB |
21.txt | AC | 297 ms | 196352 KB |
22.txt | AC | 398 ms | 196352 KB |
23.txt | AC | 368 ms | 196352 KB |
24.txt | AC | 367 ms | 196352 KB |
s1.txt | AC | 297 ms | 196352 KB |
s2.txt | AC | 297 ms | 196352 KB |
s3.txt | AC | 303 ms | 196352 KB |