zoukankan      html  css  js  c++  java
  • codeforce 270B Multithreading

    B. Multithreading

    Emuskald is addicted to Codeforces, and keeps refreshing the main page not to miss any changes in the "recent actions" list. He likes to read thread conversations where each thread consists of multiple messages.

    Recent actions shows a list of n different threads ordered by the time of the latest message in the thread. When a new message is posted in a thread that thread jumps on the top of the list. No two messages of different threads are ever posted at the same time.

    Emuskald has just finished reading all his opened threads and refreshes the main page for some more messages to feed his addiction. He notices that no new threads have appeared in the list and at the i-th place in the list there is a thread that was at the ai-th place before the refresh. He doesn't want to waste any time reading old messages so he wants to open only threads with new messages.

    Help Emuskald find out the number of threads that surely have new messages. A thread x surely has a new message if there is no such sequence of thread updates (posting messages) that both conditions hold:

    1. thread x is not updated (it has no new messages);
    2. the list order 1, 2, ..., n changes to a1, a2, ..., an.

    Input

    The first line of input contains an integer n, the number of threads (1 ≤ n ≤ 105). The next line contains a list of n space-separated integers a1, a2, ..., an where ai (1 ≤ ai ≤ n) is the old position of the i-th thread in the new list. It is guaranteed that all of the ai are distinct.

    Output

    Output a single integer — the number of threads that surely contain a new message.

    Examples

    input

    5
    5 2 1 3 4
    

    output

    2
    

    input

    3
    1 2 3
    

    output

    0
    

    input

    4
    4 3 2 1
    

    output

    3
    

    Note

    In the first test case, threads 2 and 5 are placed before the thread 1, so these threads must contain new messages. Threads 1, 3 and 4 may contain no new messages, if only threads 2 and 5 have new messages.

    In the second test case, there may be no new messages at all, since the thread order hasn't changed.

    In the third test case, only thread 1 can contain no new messages.

    水~~

    #include<iostream>
    using namespace std;
    int a[100005];
    int main(){
        int n;
        cin>>n;
        int sum=0;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
    
        }
        for(int i=1;i<=n-1;i++)
            if(a[i]>a[i+1])sum=i;
        cout<<sum<<endl;
    
    
    }
  • 相关阅读:
    HttpSession
    查看端口被哪个进程占用了
    变体类型 Variant VARIANT
    BDE View not exists
    c++builder 解压缩
    nginx的allow和deny配置
    linux下如何启动nginx?
    java如何发起一次http的post请求?
    mysql如何用sql添加字段如何设置字符集和排序规则
    设置Tomcat的UTF-8编码
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12798767.html
Copyright © 2011-2022 走看看