#include <bits/stdc++.h>
using namespace std;
const int maxn=101;
int M[maxn];//存放每个队的人数
int L[maxn];
int team[101][101];//第i个高校的j个人
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>M[i];
M[i]=10*M[i];
L[i]=M[i];
}
int maxp=0;
int t1=0;
int maxci=0;
int t2=0;
for(int i=1;i<=n;++i)//看哪个学校人最多
{
if(M[i]>maxp)
{
maxp=M[i];
t1=i;//记录队伍编号
}
}
for(int i=1;i<=n;++i)
{
if(M[i]>maxci&&i!=t1)
{
maxci=M[i];
t2=i;
}
}
int k=1;//从每个队的第一个开始
int num=1;
int pos=0;
for(int k=1;k<=maxci;++k)
{
for(int i=1;i<=n;++i)
{
if(k<=M[i])
{
team[i][k]=num;
pos=i;
num++;
}
}
}
if(pos==t1)
{
num++;
}
for(int i=maxci+1;i<=maxp;++i)
{
team[t1][i]=num;
num=num+2;
}
for(int i=1;i<=n;++i)
{
int flag=1;
cout<<'#'<<i<<endl;
for(int j=1;j<=M[i];++j)
{
if(flag%10==0)
{
cout<<team[i][j]<<endl;
flag=1;
}
else
{
cout<<team[i][j]<<" ";
flag++;
}
}
}
}
https://pintia.cn/problem-sets/1103179652833202176/problems/1103179748010348544