Submission #1169604

#TimeUsernameProblemLanguageResultExecution timeMemory
1169604vijwalPancake (NOI12_pancake)C++20
12 / 25
9 ms328 KiB
#include <bits/stdc++.h> using namespace std; int a[10]; int b[10]; void flip(int i, int n){ reverse(a+i, a+n); } int main(){ int t; cin >> t; while(t--){ int n; cin >> n; for(int i=0; i<n; i++){cin >> a[i];} int steps=0; while(true){ copy(a, a+n, b); sort(b, b+n, [](int a, int b){return a>b;}); int mis=-1; for(int i=0; i<n; i++){ if(a[i]!=b[i]){ mis=i; break; } } if (mis==-1){break;} int get = b[mis]; int geta; for(int i=mis+1; i<n; i++){ if (a[i]==get){ geta=i; break; } } if (geta == n-1){ flip(mis, n); steps++; } else{ flip(geta, n); flip(mis, n); steps+=2; } } cout << steps << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...