csu 1578: Opening Ceremony(DP)

#include<cstdio> 
#include<cstring> 
#include<algorithm> 
using namespace std; 
  
int a[100005]; 
int dp[100005]; 
  
int main() 
{ 
    int n; 
    while(scanf("%d",&n)==1) 
    { 
        for(int i=1;i<=n;i++) 
            scanf("%d",&a[i]); 
        sort(a+1,a+1+n); 
        dp[0]=0; 
        for(int i=1;i<=n;i++) 
        { 
            dp[i]=min(dp[i-1]+1,a[i]); 
        } 
        printf("%d\n",dp[n]); 
    } 
    return 0; 
} 

你可能感兴趣的:(dp)