40分
查看原帖
40分
283541
harvey2019楼主2024/10/19 17:54

我缺少提问的智慧

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
ll mod = 1e9 + 7;

inline ll read()
{
	ll ans = 0;
	ll f = 1;
	char c = getchar();
	
	while( c < '0' || c > '9' )
	{
		if( c == '-' )
			f = -1;
		
		c = getchar();
	}
	
	while( c >= '0' && c <= '9' )
	{
		ans = ( ans << 3 ) + ( ans << 1 ) + ( c - 48 );
		c = getchar();
	}
	
	return ans * f;
}

inline void write( ll x )
{
	if( x < 0 )
	{
		putchar( '-' );
		x = -x;
	}
	
	if( x > 9 )
		write( x / 10 );
	
	putchar( x % 10 + '0' );
}

ll a[100001];

int main()
{
	ll t,n,i,ans,sum,j;
	
	cin >> t;
	
	while( t-- )
	{
		ans = 1,sum = 0;
		
		cin >> n;
		
		for( i = 1 ; i <= n ; i++ )
		{
			cin >> a[i];
			
			sum += a[i];
		}
		
		sort( a + 1 , a + n + 1 );
		
		for( i = 1 ; i <= n ; i++ )
		{
			if( a[i] >= ans )
			{
				ans++;
			}
		}
		
		if( sum == ( n + 1 ) * ( n + 2 ) / 2 && ans == i )
		{
			ans++;
		}
		
		cout << ans << endl;
	}
	
	return 0;
}
2024/10/19 17:54
加载中...