Submission #1357502

#TimeUsernameProblemLanguageResultExecution timeMemory
1357502lkjlkajfaDeveloper (BOI25_dev)C++20
0 / 100
2094 ms5700 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
ll a[100005];
//ll b[100005];
ll n;
ll res=1e9;
void sinh(ll i, ll sum){
    if (i>n){
        for (int j=2;j<n;j++){
            ll x=j+1;
            while (x<=n && a[j]==a[x]){
                x++;
            }
            if (x>n){
                j=x;
                continue;
            }
            if (a[j-1]>a[j] && a[j]>a[x]) return;
            if (a[j-1]<a[j] && a[j]<a[x]) return;
        //    if (a[j-1]>a[j] && a[j]>a[x])
        }
        res=min(res,sum);
    }
    for (int xx=-10;xx<=10;xx++){
        if (a[i]+xx<0) continue;
        if (a[i]+xx>10) continue;
        a[i]+=xx;
        sinh(i+1,sum+abs(xx));
        a[i]-=xx;
    }
}
int main(){
//    ll n;
    cin>>n;
    for (int i=1;i<=n;i++) cin>>a[i];
    sinh(1,0);
    cout<<res;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...