youpiao.cpp
来自「设有n种不同面值a1, a2,…, an的邮票」· C++ 代码 · 共 59 行
CPP
59 行
#include"stdio.h"
int now,level,v[1000],a[11],n,m;
void stamp(int c)
{
int i,nlev;
for(i=0;i<n;i++)
{
if(a[i]>=level)
{
now+=a[i];
v[now]=1;
if(c<m)
{
nlev=level;
level=a[i];
stamp(c+1);
level=nlev;
}
now-=a[i];
}
}
}
int main()
{
int i,ca,len,end,max,last;
scanf("%d",&ca);
while(ca--)
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
last=a[n-1]*m;
for(i=a[0];i<=last;i++)
v[i]=0;
now=0;
level=0;
stamp(1);
i=a[0];
max=0;
while(i<=last)
{
len=0;
while(v[i]==1&&i<=last)
{
len++;
i++;
}
if(len>max)
{
max=len;
end=i-1;
}
i++;
}
printf("%d %d\n",end-max+1,end);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?