记录编号 605964 评测结果 AAAAAAAAAAAAAAAAAA
题目名称 4175.[USACO25 Feb Silver]The Best Lineup 最终得分 100
用户昵称 Gravatar汐汐很希希 是否通过 通过
代码语言 C++ 运行时间 5.175 s
提交时间 2025-09-13 14:34:37 内存使用 11.29 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1000010;
const int M=2010;
const int MOD=998244353;
int T;
struct Node{
    int num,p;
}a[N];
bool cmp(Node a,Node b)
{
    if(a.num==b.num) return a.p<b.p;
    return a.num>b.num;
}
int main()
{
    freopen("Lineup.in","r",stdin);
    freopen("Lineup.out","w",stdout);
    
    cin>>T;
    while(T)
    {
        T--;
        int n;
        cin>>n;
        memset(a,0,sizeof(a));
        for(int i=1;i<=n;i++){
            cin>>a[i].num;
            a[i].p=i;
        }
        sort(a+1,a+n+1,cmp);
        int p1=0,p2=0;
    	for(int i=1;i<=n;i++){
    		if(a[i].p>a[p1].p){
    			p2=p1;
    			p1=i;
    		}
    		if(a[p2].p<a[i].p&&a[i].p<a[p1].p){
    			a[p1].p=a[p2].p;
    			break;
    		}
    	}
    	int t=0;
    	for(int i=1;i<=n;i++){
    	    if(a[i].p>=a[t].p){
    	        cout<<a[i].num<<' ';
    	        t=i;
            }
        }
    	cout<<endl;
    }
    return 0;
}