#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
const int mod = 998244353;
typedef long long ll;
typedef unsigned long long ull;

int a[N];
int n;

bool cmp(int a,int b)
{
    return a>b;

}

void solve()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    for(int i=1;i<=n;i++)
    {
        if(a[i]>n)
        {
            cout<<-1<<'\n';
            return ;
        }
    }

    sort(a+1,a+1+n,cmp);
    
    int cnt = 0;
    for(int i=1;i<=n;)
    {
        i+=a[i];
        // cout<<i<<' ';
        if(i-1<=n)cnt++;
        if(a[i]>a[i+1]+1)i++;
    }
    cout<<cnt<<'\n';
    


}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    // cin>>t;
    while(t--)
    {
        solve();

    }


    return 0;
}

贪心