Submission #771215

# Submission time Handle Problem Language Result Execution time Memory
771215 2023-07-02T16:01:31 Z Trisanu_Das Group Photo (JOI21_ho_t3) C++17
0 / 100
3 ms 376 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
 
int ulta[5005][5005], dp[5005];
 
signed main(){
  int n; cin >> n;
  int a[n + 1], pos[n + 1];
  for(int i = 0; i < n + 1; i++) {
    cin >> a[i]; pos[a[i]] = i;
  }
  for(int i = 2; i < n + 1; i++){
    int cnt = 0;
    for(int j = i - 1; i > 0; i--){
      if(a[j] > a[i]) cnt++;
      ulta[i][j] = ulta[i][j - 1] + cnt;
    }
  }
  for(int i = 1; i < n + 1; i++){
    dp[i] = INT_MAX;
    for(int j = 0; j < i; j++) dp[i] = min(dp[i],
                                          dp[j] + ulta[1][i] - ulta[1][j] +
                                          ((i - j) * (i - j - 1)) / 2 -
                                           2 * ulta[j + 1][i]);
  }
  cout << dp[n] << '\n';
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:9:17: warning: variable 'pos' set but not used [-Wunused-but-set-variable]
    9 |   int a[n + 1], pos[n + 1];
      |                 ^~~
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -