Ciao, ho risolto questo problema, ma da 65 / 100, non riesce a risolvere due problemi in subtask 2.
#include <bits/stdc++.h>
using namespace std;
void run_case(int n){
vector<int> a(n);
int stop = -1;
bool canSort=true;
for(int i=0; i<n; i++){
cin >> a[i];
}
for(int i = 1; i<n; i++){
if(a[i] < a[i-1]){
stop = i;
break;
}
}
if(stop == -1){
cout << 0 << endl;
}
for(int i = stop; i<n-1; i++){
if(a[i] > a[i+1]){
canSort = false;
break;
}
}
if(a[n-1] > a[0]) {
canSort = false;
}
if(canSort){
cout << n - stop << endl;
} else {
cout << -1 << endl;
}
}
int main() {
int n;
cin >> n;
run_case(n);
}