Submission #922334

#TimeUsernameProblemLanguageResultExecution timeMemory
922334elotelo966Growing Vegetable is Fun 3 (JOI19_ho_t3)C++17
0 / 100
1057 ms17172 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define OYY LLONG_MAX #define mod 998244353 #define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define mid (start+end)/2 #define lim 65 #define fi first #define se second int n;// 1 2 3 int cev=LLONG_MAX; bool stop=true; string s; int dp[(1<<16)][16]; inline int dpp(int sira,int mask,int tut,string st){ if(sira==n){ cev=min(cev,tut); stop=true; } //if(~dp[mask][sira])return dp[mask][sira]; int yum=LLONG_MAX; for(int i=0;i<n;i++){ if(mask&(1<<i))continue; if(st.size()>0 && s[i]==st.back())continue; yum=min(yum,dpp(sira+1,mask|(1<<i),tut+abs(sira-i),st+s[i])); } return dp[mask][sira]=yum; } int32_t main(){ faster memset(dp,-1,sizeof(dp)); cin>>n>>s; string st=""; dpp(0,0,0,st); if(stop==false)cout<<-1<<'\n'; else cout<<cev/2<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...