结训赛

来源:互联网 发布:数据分析师报考 编辑:程序博客网 时间:2024/06/10 15:26

题目描述

有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

示例输入

51 2 3 4 532 3 4

示例输出

2 4

///题意是根据所给你的n的数,找到一个n位的最小数使得能整除2,3,5,7///因为所给的数据范围过大,所以是一个找规律题;#include<stdio.h>#include<string.h>#define N 100000int 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;}








1 0
原创粉丝点击