求助,输出0
查看原帖
求助,输出0
602932
NumberTrart楼主2023/1/3 18:08
#include<iostream>
#include<algorithm>
using namespace std;
int n,r,q,s[200005],w[200005],order[200005];
bool cmp(int a,int b)
{
    if(s[a]==s[b]) return a<b;
    return s[a]>s[b];
}
int main()
{
    cin>>n>>r>>q;
    for(int i=1;i<=2*n;i++)
        scanf("%d",s+i);
    for(int i=1;i<=2*n;i++)
    {
        scanf("%d",w+i);
        order[i]=i;
    }
    sort(order+1,order+2*n+1,cmp);
    for(int teui=1;teui<=r;teui++)
    {
        for(int i=1;i<=2*n;i+=2)
        {
            if(w[order[i]]>w[order[i+1]])
                s[order[i]]++;
            else
                s[order[i+1]]++;
        }
        for(int i=2;i<=2*n;i++)
        {
            int j=i;
            while(cmp(order[j],order[j-1]))
            {
                swap(order[j],order[j-1]);
                j--;
            }
        }
    }
    cout<<order[q];
    return 0;
}

不要在乎teuiteui,那是瞎打的,反正不用

(((( 1 +4)×44)÷4=4+4)\times4-4)\div4=4

听说正解是归并,归并怎么做啊

2023/1/3 18:08
加载中...