結果
問題 | No.2791 Beginner Contest |
ユーザー |
|
提出日時 | 2024-06-21 22:46:02 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,069 bytes |
コンパイル時間 | 2,112 ms |
コンパイル使用メモリ | 195,244 KB |
最終ジャッジ日時 | 2025-02-22 00:00:56 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include<bits/stdc++.h>using namespace std;// OM NAMAH SHIVAY// #include<ext/pb_ds/assoc_container.hpp>// #include<ext/pb_ds/tree_policy.hpp>// using namespace __gnu_pbds;// typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; // find_by_order, order_of_key#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);#define endl "\n"#define int long long// int dx[4]={-1,0,1,0};// int dy[4]={0,1,0,-1};// int dx[8]={0,-1,-1,-1,0,1,1,1};// int dy[8]={1,1,0,-1,-1,-1,0,1};const int mod = 998244353;using ii = pair<int,int>;//write on copy// 779869259int add(int a, int b){return ((a%mod)+(b%mod))%mod;}void solver(){int n,k;cin>>n>>k;if(k>n){cout<<1<<endl;return;}vector<int>dp(n+1,0);int ans = 2;dp[k]=1;for(int i=k+1;i<=n;i++){dp[i]=add(dp[i-1],dp[i-k]);ans = add(ans, dp[i]);}cout<<ans<<endl;}signed main(){IOS//int _t;cin>>_t;while(_t--)solver();return 0;}#undef int