76ptsTLE求助,TLE in #20~#25
查看原帖
76ptsTLE求助,TLE in #20~#25
1074084
asd890123楼主2024/5/2 09:08
#include <cstdio>
#include <cctype>
#include <algorithm>

namespace QuikIO{
    
    int p1,p2,p3;
    const int maxn = 1e6;
    char in[maxn],out[maxn];
    
    #define getchar() (p1 == p2 && (p1 = 0,p2 = fread(in,1,maxn,stdin)),p1 == p2 ? EOF : in[p1++])
    
    int read(){
        
        int x = 0;
        char ch = getchar();
        
        while (!isdigit(ch)) ch = getchar();
        while (isdigit(ch))
            x *= 10,x += ch - '0',ch = getchar();
        
        return x;
    }
    
    #undef getchar
    
}using QuikIO::read;

class num{public:int id,val;};

const int maxn = 8005;

bool operator<(num a,num b){
    
    if (a.val != b.val) return a.val < b.val;
    return a.id < b.id;
    
}

int main(){
    
    int n,q,op,x,u,ans;
    num a[maxn],b[maxn];
    
    n = read(),q = read();
    for (int i = 1;i <= n;i++) a[i].val = read(),a[i].id = i;
    while (q--){
        
        op = read(),x = read();
        if (op == 1) u = read(),a[x].val = u;
        else if (op == 2){
            
            ans = 1;
            for (int i = 1;i <= n;i++)
                if (a[i] < a[x]) 
                    ans++;
            printf("%d\n",ans);
            
        }
        
    }
    
    return 0;
}
2024/5/2 09:08
加载中...