#include <stdio.h>
int vis[1000001];
int a[101];
int minest(int *a);
/7oid calculate(int max);
int t;
int main()
{
int flag=0;
scanf("%d",&t);
for(int i=1; i<=t; i++)
{
scanf("%d",&a[i]);//要求互质
vis[a[i]]=1;
}
int cnt=0;
int posi=0;
int i;
for(i=1; i<=1000000 ; i++)
{
if(vis[i])
{
for(int j=1; j<=t; j++)
{
vis[i+a[j]]=1;
}
posi++;
}
else
posi=0, cnt++;
int min1=minest(a);
// printf("%d",min1);
if(posi==min1)
{
flag=1;
break;
}
}
if(flag==1)
//calculate(i-cnt);
printf("%d",cnt);
else
printf("INF");
return 0;
}/*
void calculate(int max) {
int cnt=0;
for(int i=1; i<=max; i++)
{
if(!vis[i])
{
// printf("i=%d ",i);
cnt++;
}
}
printf("%d",cnt);
return;
}*/
int minest(int *a) {
int min=1000;
for(int i=1; i<=t; i++ )
if(min>a[i])
min=a[i];
return min;
}
2021-03-24
最新推荐文章于 2022-01-26 22:26:06 发布