結果
問題 |
No.616 へんなソート
|
ユーザー |
![]() |
提出日時 | 2018-06-24 12:50:48 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 463 ms / 2,000 ms |
コード長 | 567 bytes |
コンパイル時間 | 1,253 ms |
コンパイル使用メモリ | 158,492 KB |
実行使用メモリ | 178,260 KB |
最終ジャッジ日時 | 2024-06-30 22:25:45 |
合計ジャッジ時間 | 3,853 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = long long; #define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++) i64 dp[303][303 * 303]; i64 MOD = 1e9 + 7; int main(){ int N,K; cin >> N >> K; dp[0][0] = 1; rep(i,0,N - 1){ int a; cin >> a; } rep(i,0,N - 1){ i64 sum = 0; rep(j,0,K){ sum = (sum + dp[i][j]) % MOD; dp[i + 1][j] = sum; if(j - i >= 0){ sum = (sum - dp[i][j - i] + MOD) % MOD; } } } i64 ans = 0; rep(i,0,K){ ans = (ans + dp[N][i]) % MOD; } cout << ans << endl; }