题目描述
有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的糖块数?
输入
首先输入一个整数n,代表有n个小朋友。(0<n<=10^6)
之后一行输入n个整数,第i个整数代表第i个小朋友手里的糖块数。
然后输入一个整数m,代表现在m个数组成一个连续的序列。(0<m<=min(10^5,n) )
之后一行输入m个整数。(输入的每个数都会在0到10^9之间)
输出
如果能唯一的确定一对l,r的值,那么输出这两个值,否则输出-1
示例输入
5 1 2 3 4 5 3 2 3 4
示例输出
2 4
///题意是根据所给你的n的数,找到一个n位的最小数使得能整除2,3,5,7
///因为所给的数据范围过大,所以是一个找规律题;
#include<stdio.h>
#include<string.h>
#define N 100000
int main()
{
int n,m,i,j;
while(~scanf("%d",&n))
{
if(n<=2)
{
printf("-1\n");
}
else if(n==3)
{
printf("210\n");
}
else
{
int k=n;
k=k%6;
if(k==1)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("020\n");
}
else if(k==2)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("200\n");
}
else if(k==3)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("110\n");
}
else if(k==4)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("050\n");
}
else if(k==5)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("080\n");
}
else if(k==0)
{
printf("1");
for(i=1;i<=n-4;i++)
{
printf("0");
}
printf("170\n");
}
}
}
return 0;
}