永兴网站制作,根域名服务器,品牌网站建设流程,企业管理模式有哪些描述给你一个长度为n的数字串#xff0c;数字串里会包含1-m这些数字。如果连续的一段数字子串包含了1-m这些数字#xff0c;则称这个数字字串为NUM串。你的任务是求出长度最短的NUM串是什么#xff0c;只需要输出这个长度即可。输入输入数据有多组第一行给定n和m。 #xf… 描述给你一个长度为n的数字串数字串里会包含1-m这些数字。如果连续的一段数字子串包含了1-m这些数字则称这个数字字串为NUM串。你的任务是求出长度最短的NUM串是什么只需要输出这个长度即可。输入输入数据有多组第一行给定n和m。 1nm100000第二行n个数表示数字串数字间用空格隔开。输出如果存在NUM串则输出最短NUM串长度否则输出NO。样例输入5 31 2 2 3 1样例输出3 C水过 C code 1 # includeiostream 2 using namespace std; 3 int main() 4 { 5 int n,m,i,ap,j,l; 6 int a[200001],b[200001]; 7 cinnm; 8 for (int i1;in;i) cina[i]; 9 ap1;10 i1;11 b[a[i]]1;12 l2147483647;13 for(j2;jn;j)14 {15 if(b[a[j]]0)ap;16 b[a[j]];17 while(b[a[i]]1)18 {19 b[a[i]]--;20 i;21 }22 if ((apm)(lj-i1))lj-i1; 23 24 } 25 if (l2147483647) coutNOendl;26 else coutlendl;27 return 0;28 } 转载于:https://www.cnblogs.com/shy-/archive/2012/06/30/2570930.html