起码的拦截系统

最少的拦截系统


注意两点:1,拦截系统的拦截高度越来越低 2,尽量让每个拦截系统拦截的导弹相差的高度最小,

#include<stdio.h>
#define INF 0x7ffffff
int dp[10010];
int main()
{
 int t;
 while(scanf("%d",&t)!=EOF)
 {
  int res=0;
  int i,x,k;
  while(t--)
  {
   int flog=0;
   int min;
   min=INF;
   scanf("%d",&x);
   for(i=0;i<res;i++)
   {
    if(x<=dp[i]&&min>dp[i]-x)
    {
     min=dp[i]-x;
     k=i;
     flog=1;
    }
   }
   if(flog==0)
   {
    dp[res]=x;
    res++;
   }
   else
   dp[k]=x;
  }
   printf("%d\n",res);
 }
 return 0;
}

不懂的地方可以问我

版权声明:本文为博主原创文章,未经博主允许不得转载。