Submission #556474

#TimeUsernameProblemLanguageResultExecution timeMemory
556474new_accKamenčići (COCI21_kamencici)C++14
70 / 70
24 ms26196 KiB
#include<bits/stdc++.h> #define fi first #define se second #define pitem item* using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector<int> vi; typedef vector<ll> vl; const int N=400+10; const int SS=1<<19; const int INFi=2e9; const ll INFl=1e13; const ll mod2=998244353; const ll mod=1e9+7; const ll mod3=1000696969; const ll p=70032301; const ull p2=913; const int L=20; bool dp[N][N][N]; void solve(){ int n,k; string s; cin>>n>>k>>s; s="#"+s; int il=0; for(int i=1;i<=n;i++) il+=(s[i]=='C'); for(int i=n;i>=1;i--){ int curr=0; for(int j=i;j<=n;j++){ curr+=(s[j]=='C'); for(int __curr=0;__curr<=min(il-curr,k-1);__curr++){ int on=il-curr-__curr; if(on>=k){ dp[i][j][__curr]=1; continue; } if(__curr+(s[i]=='C')<k and !dp[i+1][j][on]) dp[i][j][__curr]=1; if(__curr+(s[j]=='C')<k and !dp[i][j-1][on]) dp[i][j][__curr]=1; } } } cout<<(dp[1][n][0]?"DA":"NE")<<"\n"; } int main(){ ios_base::sync_with_stdio(0),cin.tie(0); int tt=1; while(tt--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...