Submission #833489

#TimeUsernameProblemLanguageResultExecution timeMemory
833489vjudge1Exam (eJOI20_exam)C++17
0 / 100
1087 ms720 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MX = 1e5 + 5;

int N;
int H[MX], T[MX], dp[MX];

int main() {
      cin.tie(0); ios_base::sync_with_stdio(0);

      cin >> N;
      for(int i = 1; i <= N; i++) cin >> H[i];
      for(int i = 1; i <= N; i++) cin >> T[i];

      for(int i = 1; i <= N; i++) {

            for(int j = i - 1; j >= 0; j--) {

                  int cnt = 0;
                  for(int k = j + 1; k <= N; k++) {
                        if(H[k] > H[i]) break;
                        if(T[k] == H[i]) cnt++;

                        if(k >= i)
                              dp[k] = max(dp[k], dp[j] + cnt);
                  }

                  if(H[j] > H[i]) break;
            }

      }

      // for(int i = 1; i <= N; i++) {
      //       cout << dp[i] << " ";
      // }
      // cout << '\n';
      
      cout << dp[N] << '\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...
#Verdict Execution timeMemoryGrader output
Fetching results...