fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. int n ; cin>>n;
  7. vector<int>arr(n);
  8. for(int i = 0 ; i<n;i++){
  9. cin>>arr[i];
  10. }
  11. vector<int>spre(n);
  12. spre[0]=0;
  13. for(int j = 1 ; j<n;j++){
  14. for(int i = 0 ; i<j;i++){
  15. if(arr[i]<arr[j]){
  16. spre[j]++;
  17. }
  18. }
  19. }
  20. vector<int>ssuf(n);
  21. ssuf[n-1]=0;
  22. for(int j = n-2 ; j>=0;j--){
  23. for(int i = n-1 ; i>j;i--){
  24. if(arr[i]<arr[j]){
  25. ssuf[j]++;
  26. }
  27. }
  28. }
  29.  
  30. int ans = 0 ;
  31. for(int k = 0 ; k<n;k++){
  32. int left = 0 ;
  33. int right = 0 ;
  34. for(int j = 0 ; j<k;j++){
  35. if(arr[j]>arr[k]){
  36. left=left+spre[j];
  37. }
  38. }
  39. for(int l= k+1 ; l<n;l++){
  40. if(arr[l]>arr[k]){
  41. right=right+ssuf[l];
  42. }
  43. }
  44. ans+=left*right;
  45. }
  46. cout<<ans;
  47. // your code goes here
  48.  
  49.  
  50. return 0;
  51.  
  52. }
Success #stdin #stdout 0.01s 5328KB
stdin
5
3 5 0 2 1 
stdout
1