제출 #1187406

#제출 시각아이디문제언어결과실행 시간메모리
1187406user736482Group Photo (JOI21_ho_t3)C++20
100 / 100
255 ms351948 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 1000000009 #define INF 1000000019 #define INFL 1000000000000000099LL ll cena2[5007][5007],cena[5007][5007],bst[5007]; ll a,b,c,d,t,n,m,l,q,gdzie[5007],cena3[5007][5007]; vector<ll>v; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n; for(ll i=0;i<n;i++){ cin>>a; a--; v.pb(a); gdzie[a]=i; } for(ll i=0;i<n;i++){ for(ll j=v[i]+1;j<n;j++){ cena2[i][j]=cena2[i][j-1]+(gdzie[j]>i); } for(ll j=n-1;j>v[i];j--){ cena3[i][j-1]=cena3[i][j]+(gdzie[j]<i); } } for(ll i=n-1;i>=0;i--){ for(ll j=i;j<n;j++){ cena[i][j]=cena[i+1][j]; cena[i][j]+=cena2[gdzie[i]][j]+cena3[gdzie[i]][j]; } } for(ll i=1;i<=n;i++){ bst[i]=INFL; for(ll j=0;j<i;j++){ bst[i]=min(bst[i],bst[j]+cena[j][i-1]); } } cout<<bst[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...
#Verdict Execution timeMemoryGrader output
Fetching results...