我直接不排序,从中搜索第一大的删去,再找第二大的,结果就AC两个点!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
int asd(int a,int b);
int a[505][505],b,c,d,m,n;
string x,y,z;
int main()
{
cin>>n;
for(int i=n;i>=1;i--)//输入
{
for(int j=n;j>=n-i;j--)
{
cin>>a[i][j];
if(a[i][j]>b) b=a[i][j];
}
}
for(int i=n;i>=1;i--)//找最大的并删去
{
for(int j=i-1;j>=1;j--)
{
if(b==a[i][j] && c==0)
{
a[i][j]=0;
c++;
}
}
}
for(int i=n;i>=1;i--)//找第二大的
{
for(int j=i-1;j>=1;j--)
{
if(a[i][j]>d) d=a[i][j];
}
}
cout<<1<<endl;
cout<<d;
return 0;
}
int asd(int a,int b)
{
return a>b;
}