我也是O(nq)竟然AC了,不理解。
查看原帖
我也是O(nq)竟然AC了,不理解。
362867
jiangyf70楼主2021/10/27 15:40

我只是把循环分段写了就过了。

#include<iostream>
using namespace std;
int main(){
    //freopen("sort.in","r",stdin);
    //freopen("sort.out","w",stdout);
    int n,q;
    cin >> n >> q;
    int a[8005];
    for(int i = 1; i <= n; i++) cin >> a[i];

    int x,y,z;
    for(int i = 0;i < q; i++){
        cin >> x;
        if(x == 1)
        {
            cin >> y >> z;
            a[y] = z;

        }
        else if(x == 2)
        {
            cin >> y;
            int cnt = 1;

            for(int i = 1; i < y; i++)
                if(a[i] <= a[y]) cnt ++;
            for(int i = y + 1; i <= n; i++)
                if(a[i] < a[y]) cnt ++;
            cout << cnt << endl;
        }

    }
    return 0;
}

2021/10/27 15:40
加载中...