1 条题解

  • 0
    @ 2023-3-13 11:51:15

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    unsigned long long int n,i,j,x,ans;
    vector<int> a;
    int main()
    {
    	cin>>n;
    	for(i=1;i<=n;i++)
    	{
    		cin>>x;
    		a.push_back(x);
    	}
    	for(i=1;i<n;i++)
    	{
    		for(j=i+1;j<=n;j++)
    		{
    			if(a[i]>a[j])
    				ans++;
    			else
    				break;
    		}
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
    

    Java :

    
    import java.util.Scanner;
    import java.util.Stack;
     
    public class Main {
     
    	public static void main(String[] arg) {
    		Scanner sc = new Scanner(System.in);
    		int n=sc.nextInt();
    		Stack<Integer> st=new Stack<Integer>();
    		int sum=0;
    		st.push(sc.nextInt());
    		int now=0;
    		
    	for(int i=1;i<n;i++) {
    			now=sc.nextInt();
    			
    			while(!st.isEmpty()&&now>=st.peek()) {
    				st.pop();
    			}
    			sum+=st.size();
    			st.push(now);
    		}
    		System.out.println(sum);
    	}
    }
    
    
    • 1

    信息

    ID
    1833
    时间
    1000ms
    内存
    16MiB
    难度
    10
    标签
    递交数
    1
    已通过
    0
    上传者