A
# include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int f[10];
int main()
{
LL n;
LL sum=0;
scanf("%lld",&n);
LL nn=n;
LL ans=0;
while(1){
LL m=nn/10*10+9;
LL mm=m;
LL d=0;
while(mm){
d++;
mm=mm/10;
}
if(d==1){
sum+=9;
break;
}
int y=0;
sum+=(m-nn+1);
m=m+1;
y=m%10;
while(y==0){
m=m/10;
y=m%10;
}
nn=m;
}
printf("%lld",sum);
return 0;
}
B
# include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL f[10];
int main()
{
LL n;
string a;
scanf("%lld",&n);
cin>>a;
for(LL i=1;i<=9;i++){
scanf("%lld",&f[i]);
}
int flag1=0;
int l;
for(LL i=0;i<a.length();i++){
LL id=a[i]-'0';
if(f[id]>=id){
if(f[id]>id) flag1=1;
printf("%lld",f[id]);
}else{
if(flag1){
l=i;
break;
}
printf("%lld",id);
}
}
for(LL i=l;i<a.length();i++){
printf("%c",a[i]);
}
return 0;
}
C
# include <bits/stdc++.h>
using namespace std;
typedef long long LL;
list<LL> v;
int main()
{
LL n;
string c="";
scanf("%lld",&n);
for(LL i=0;i<n;i++){
LL a;
scanf("%lld",&a);
v.push_back(a);
}
LL ans=0;
LL b=0;
LL l=v.front();
LL r=v.back();
ans++;
if(l<r){
b=l;
v.pop_front();
c+='L';
}else{
b=r;
v.pop_back();
c+='R';
}
while(1){
l=v.front();
r=v.back();
if(l<r){
if(l>b){
b=l;
v.pop_front();
ans++;
c+='L';
}else{
if(r>b){
b=r;
v.pop_back();
ans++;
c+='R';
}else{
break;
}
}
}else{
if(r>b){
b=r;
v.pop_back();
ans++;
c+='R';
}else{
if(l>b){
b=l;
v.pop_front();
ans++;
c+='L';
}else{
break;
}
}
}
}
printf("%lld\n",ans);
cout<<c;
return 0;
}
E
# include <bits/stdc++.h>
using namespace std;
const int MAXN=2e5+20;
const int MAXX=4e5+20;
int a[MAXN];
int b[MAXN];
int c[MAXN];
int f[MAXX];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++){
scanf("%d",&b[i]);
f[b[i]]++;
}
for(int i=1;i<=n;i++){
for(int j=0;j<n;j++){
if((n+j-a[i])>=0&&f[n+j-a[i]]){
f[n+j-a[i]]--;
printf("%d ",j);
break;
}
if((j-a[i])>=0&&f[j-a[i]]){
f[j-a[i]]--;
printf("%d ",j);
break;
}
}
}
return 0;
}