結果
問題 | No.2298 yukicounter |
ユーザー |
|
提出日時 | 2024-08-15 23:30:26 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 37 ms / 2,000 ms |
コード長 | 1,166 bytes |
コンパイル時間 | 1,205 ms |
コンパイル使用メモリ | 122,056 KB |
実行使用メモリ | 9,896 KB |
最終ジャッジ日時 | 2024-08-15 23:30:29 |
合計ジャッジ時間 | 2,716 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
#include<iostream>#include<string>#include<queue>#include<vector>#include<cassert>#include<random>#include<set>#include<map>#include<cassert>#include<unordered_map>#include<bitset>#include<numeric>#include<algorithm>using namespace std;typedef long long ll;const int inf=1<<30;const ll INF=1LL<<62;typedef pair<int,ll> P;typedef pair<int,P> PP;const ll MOD=998244353;int main(){string yukicoder="yukicoder";string S;cin>>S;int N=S.size();auto judge=[&](const string& s)->bool{if(s.size()<yukicoder.size()) return false;if(s==yukicoder) return true;return false;};vector<int> dp;int idx=0;for(int idx=0;idx<N;){if( judge(S.substr(idx,min(N-idx,(int)yukicoder.size()))) ){dp.push_back(1);idx+=yukicoder.size();}else{dp.push_back(0);idx++;}}int ans=0;int n=dp.size();vector<int> sum(n+1);for(int i=0;i<n;i++){if(dp[i]>0){sum[i+1]=sum[i]+dp[i];}}for(int i=0;i<=n;i++){ans=max(ans,sum[i]);}cout<<ans<<endl;}