C. Three displays:题目
#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<int> a((int)6e5);
vector<int> b((int)6e5), c((int)6e5);
const int mod = 1e9 + 7;
int sum[3333][4];
signed main()
{int n;cin >> n;for (int i=0;i<n;i++) sum[i][1] = sum[i][2] = (int)1e9;for (int i = 0; i < n; i++)cin >> a[i];for (int i = 0; i < n; i++)cin >> b[i];for (int i = 0; i < n; i++)sum[i][0] = b[i];for (int i = 0; i < n; i++)for (int j = i + 1; j < n; j++){if (a[j]>a[i]){sum[j][1] = min(sum[j][1],sum[i][0]+b[j]);sum[j][2] = min(sum[j][2],sum[i][1]+b[j]);}}int res = (int)1e9;for (int i=0;i<n;i++) res = min(res,sum[i][2]);if (res==(int)1e9) cout<<-1<<endl;else cout<<res<<endl;
}