Submission #129366

#TimeUsernameProblemLanguageResultExecution timeMemory
129366MrUnknownGrowing Vegetable is Fun 3 (JOI19_ho_t3)C++11
0 / 100
2 ms376 KiB
/*** * __ __ _ _ _ * | \/ | | | | | | | * | \ / |_ __ | | | |_ __ | | ___ __ _____ ___ __ * | |\/| | '__| | | | | '_ \| |/ / '_ \ / _ \ \ /\ / / '_ \ * | | | | | _ | |__| | | | | <| | | | (_) \ V V /| | | | * |_| |_|_| (_) \____/|_| |_|_|\_\_| |_|\___/ \_/\_/ |_| |_| * * ***/ #include<stdio.h> #include<bits/stdc++.h> using namespace std; #define ll long long #define f(i,a,b) for (int i=a;i<=b;i++) #define f_(i,a,b) for (int i=a;i>=b;i--) #define MP make_pair #define ii pair<int,int> #define iii pair<int,ii> const ll mod=1000000007; int n,dem=0; string s; int main() { // freopen("","r",stdin); // freopen("","w",stdout); cin>>n>>s; for (int i=1;i<n;i++) { if (s[i]==s[i-1]) { int pos=i; while (s[pos]==s[pos-1]&&pos<n) pos++; if (pos==n) break; dem+=(pos-i); swap(s[i],s[pos]); // cout<<"!"<<dem<<" "<<i<<"\n"; } } // cout<<s<<" "; for (int i=n-1;i>0;i--) { if (s[i]==s[i-1]) { int pos=i-1; while (s[pos]==s[pos-1]&&pos>0) pos--; if (pos==0) { printf("-1"); return 0; } dem+=(i-pos); // cout<<"!!"<<dem<<" "<<i<<"\n"; swap(s[i-1],s[pos-1]); } } // cout<<s<<" "; printf("%d", dem); 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...