2 条题解

  • 4
    @ 2025-07-19 13:40:39

    #include<bits/stdc++.h>
    using namespace std;
    int n,q;
    struct t{
    int x,y;
    bool operator<(t v)
    {
    return x>v.x;
    }
    }a[8005];
    bool cmp(t a,t b)
    {
    return a.x<b.x||a.x==b.x&&a.y<b.y;
    }
    inline int read()
    {
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
    if(ch=='-')f=-1;
    ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
    x=x*10+ch-'0';
    ch=getchar();
    }
    return f*x;
    }
    inline void write(int x){
    // if(x<0){
    // putchar('-');
    // x=-x;
    // }
    if(x>9)write(x/10);
    putchar(x%10+'0');
    }
    int main()
    {
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    n=read();q=read();
    for(int i=1;i<=n;i++)
    {
    a[i].x=read();
    a[i].y=i;
    }
    stable_sort(a+1,a+1+n,cmp);
    while(q--)
    {
    int s;s=read();
    if(s==1)
    {
    int k,l,u;k=read();l=read();
    for(int i=1;i<=n;i++)
    if(a[i].y==k)
    a[i].x=l;
    stable_sort(a+1,a+1+n,cmp);
    }
    else
    {
    int f;f=read();
    for(int i=1;i<=n;i++)
    {
    if(a[i].y==f)
    {
    write(i);
    puts("");
    break;
    }
    }
    }
    }
    return 0;
    }//要多交几次(看评测机心情)

  • 0
    #include <bits/stdc++.h>
    using namespace std;
    struct Node
    {
        int num,id;
    }a[8001];
    bool cmp(Node a,Node b)
    {
        return a.num<b.num||a.num==b.num&&a.id<b.id;
    }
    int read()
    {
        int x=0,f=1;
        char c=getchar();
        while(c<'0'||c>'9')
        {
            if(c=='-') f=-1;
            c=getchar();
        }
        while(c>='0'&&c<='9')                    
        {
            x=x*10+c-'0';
            c=getchar();
        }
        return x*f;
    }
    void write(int x)
    {
        if(x<0)
        {
            putchar('-');
            x=-x;
        }
        if(x>=10) write(x/10);
        putchar(x%10+'0');
    }
    int n,q;
    int main()
    {
        n=read();
        q=read();
        for(int i=1;i<=n;i++)
        {
            a[i].num=read();
            a[i].id=i;
        }
        stable_sort(a+1,a+1+n,cmp);
        while(q--)
        {
            int c,x;
            c=read();x=read();
            if(c==1)
            {
                int v;
                v=read();
                for(int i=1;i<=n;i++)
                {
                    if(a[i].id==x)
                    {
                        a[i].num=v;
                        break;
                    }
                }
                stable_sort(a+1,a+1+n,cmp);
            }
            else
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i].id==x)
                    {
                        write(i);
                        puts("");
                        break;
                    }
                }
            }
        }
        return 0;
    }
    
  • 1

信息

ID
2433
难度
8
分类
(无)
标签
递交数
181
已通过
15
通过率
8%
被复制
2
上传者