显示代码纯文本
#include <cstdio>
#include <cstring>
char s[1000005];
char t[1000005];
inline int _max(int a,int b) {
return a>b?a:b;
}
int main() {
freopen("R.in","r",stdin);
freopen("R.out","w",stdout);
int n;
scanf("%d",&n);
int len;
int sum=0;
int k;
int loc;
int fast;
for(int i=0;i<n;i++) {
scanf("%s",t);
len=strlen(t);
scanf("%d",&k);
fast=-1;
while(k--) {
scanf("%d",&loc);
loc--;
sum=_max(sum,len+loc);
for(int j=_max(fast,loc);j<loc+len;j++) {
s[j]=t[j-loc];
}
fast=loc+len;
}
}
for(int i=0;i<sum;i++) {
if(s[i]==0) {
putchar('a');
}
else {
putchar(s[i]);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}