#include <iostream>
using namespace std;
int main(){
int n,k,time=0;
cin>>n;
int level=0;for(int i=0; i<n; i++){
cin>>k;
time+=level>k?5+(level-k)*4:5+(k-level)*6;
level=k;}
cout<<time;}
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
string str;
cin>>str;
int i=0,maxi=0;
int a=str.length();for(int m=3; m<a; m++){for(int i=0; i<=m; i++){if(2*i+m==2+a){if(i>maxi)
maxi=i;}}}for(int i=0; i<a; i++){if(i<maxi-1){
cout<<str[i];for(int k=0; k<a-2*maxi; k++)
cout<<" ";
cout<<str[a-1-i]<<endl;}if(i>=maxi-1&&i<=a-maxi)
cout<<str[i];}}
A1035
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n,k=0;
string str1,str2;
cin>>n;getline(cin,str1);
vector<string> ve1;
vector<string> ve2;for(int i=0; i<n; i++){
cin>>str1>>str2;
int sum=0;
while(str2.find('l')!=str2.npos){
int a=str2.find('l');
str2[a]='L';
sum++;}while(str2.find('1')!=str2.npos){
int a=str2.find('1');
str2[a]='@';
sum++;}while(str2.find('0')!=str2.npos){
int a=str2.find('0');
str2[a]='%';
sum++;}while(str2.find('O')!=str2.npos){
int a=str2.find('O');
str2[a]='o';
sum++;}if(sum>0){
ve1.push_back(str1);
ve2.push_back(str2);
k++;}}if(k!=0)
cout<<k<<endl;for(int i=0; i<k; i++)
cout<<ve1[i]<<" "<<ve2[i]<<endl;if(k==0&&n==1)
cout<<"There is 1 account and no account is modified"<<endl;if(k==0&&n>1)
cout<<"There are "<<n<<" accounts and no account is modified"<<endl;}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n,pos=-1;
string str1;
cin>>n;getline(cin,str1);
vector<string>ve;for(int i=0;i<n;i++){getline(cin,str1);reverse(str1.begin(),str1.end());
ve.push_back(str1);}for(int i=0;i<ve[0].length();i++){
int sum=0;for(int k=0;k<n;k++){if(ve[k][i]==ve[0][i])
sum++;}if(sum!=n){
pos=i;
break;}if(sum==n&&i==(ve[0].length()-1))
pos=i+1;}for(int i=pos-1;i>=0;i--)
cout<<ve[0][i];if(pos==0)
cout<<"nai";}
A1083
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct people{
string name;
string id;
int grade;};
bool cmp(people a,people b){
return a.grade>b.grade;}int main(){
int n,sum=0;
cin>>n;
int a,b;
vector<people> v(n);for(int i=0;i<n;i++){
cin>>v[i].name>>v[i].id>>v[i].grade;}sort(v.begin(),v.end(),cmp);
cin>>a>>b;for(int i=0;i<n;i++){if(v[i].grade>=a&&v[i].grade<=b){
cout<<v[i].name<<" "<<v[i].id<<endl;
sum++;}}if(sum==0)
cout<<"NONE";}
A1084
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
string str1,str2,ans;
int pos1=0,pos2=0;
cin>>str1>>str2;transform(str1.begin(),str1.end(),str1.begin(),::toupper);transform(str2.begin(),str2.end(),str2.begin(),::toupper);for(int i=0;i<str1.length();i++){if((str2.find(str1[i])==str2.npos)&&(ans.find(str1[i])==ans.npos))
ans+=str1[i];}
cout<<ans;}
A1085
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
long long n,p,m,ans=0;
cin>>n>>p;
vector <int> ve;for(int i=0; i<n; i++){
cin>>m;
ve.push_back(m);}sort(ve.begin(),ve.end());for(int i=0; i<n; i++){for(int k=i+ans; k<n; k++){if(ve[i]*p>=ve[k]){if(k-i+1>=ans)
ans=k-i+1;}
else
break;}}
cout<<ans;}
A1088
#include <iostream>
#include <cmath>
using namespace std;
long long a, b, c, d;
long long gcd(long long t1, long long t2){
return t2 == 0 ? t1:gcd(t2, t1 % t2);}void func(long long m, long long n){if (m * n == 0){printf("%s", n == 0 ? "Inf":"0");
return ;}
bool flag = ((m < 0 && n > 0) || (m > 0 && n < 0));
m = abs(m); n = abs(n);
long long x = m / n;printf("%s", flag ? "(-":"");
if (x != 0)printf("%lld", x);
if (m % n == 0){if(flag)printf(")");
return ;}
if (x != 0)printf(" ");
m = m - x * n;
long long t = gcd(m, n);
m = m / t; n = n / t;printf("%lld/%lld%s", m, n, flag ? ")":"");}int main(){scanf("%lld/%lld %lld/%lld", &a, &b, &c, &d);func(a, b);printf(" + ");func(c, d);printf(" = ");func(a * d + b * c, b * d);printf("\n");func(a, b);printf(" - ");func(c, d);printf(" = ");func(a * d - b * c, b * d);printf("\n");func(a, b);printf(" * ");func(c, d);printf(" = ");func(a * c, b * d);printf("\n");func(a, b);printf(" / ");func(c, d);printf(" = ");func(a * d, b * c);
return 0;}
#include <iostream>
using namespace std;
int main(){
string str1,str2;
int n,m,sum=0;getline(cin,str1);getline(cin,str2);for(int i=0;i<str2.length();i++){
n=str1.length();
if(str1.find(str2[i])!=str1.npos){
m=str1.find(str2[i]);
str1=str1.substr(0,m)+str1.substr(m+1,n-m-1);}
else
sum++;}if(sum>0)
cout<<"No "<<sum;
else
cout<<"Yes "<<str1.length();}
A1093
#include <iostream>
using namespace std;
int main(){
string str;getline(cin,str);
int sumT=0,sumP=0;
long long sum=0;for(int i=0;i<str.length();i++){if(str[i]=='T')
sumT++;}for(int i=0;i<str.length();i++){if(str[i]!='A'){if(str[i]=='P')
sumP++;
else
sumT--;}
else
sum+=sumP*sumT;}
cout<<sum%1000000007;}
#include <cstdio>
int main(){
int n;
double v,ans = 0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lf", &v);
ans+=v*i*(n + 1 - i);}printf("%.2f\n",ans);
return 0;}
A1105
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <math.h>
using namespace std;
bool cmp(int a,int b){
return a>b;}int main(){
int N,i,m,n,t=0,h;
cin>>N;
string str;
vector<int> v;
vector<int>a(N);for(int i=0;i<N;i++){
cin>>h;
v.push_back(h);}sort(v.begin(),v.end(),cmp);for(int i=0;i<v.size();i++)
a[i]=v[i];
n=sqrt(N);
while(N%n!=0){
n--;}
m=N/n;
int level = m / 2 + m % 2;
vector<vector<int>>b(m,vector<int>(n));
for (int i = 0; i < level; i++){
for (int j = i; j <= n - 1 - i && t <= N - 1; j++)
b[i][j] = a[t++];
for (int j = i + 1; j <= m - 2 - i && t <= N - 1; j++)
b[j][n - 1 - i] = a[t++];
for (int j = n - i - 1; j >= i && t <= N - 1; j--)
b[m - 1 - i][j] = a[t++];
for (int j = m - 2 - i; j >= i + 1 && t <= N - 1; j--)
b[j][i] = a[t++];}for(int i=0;i<m;i++){for(int k=0;k<n;k++){if(k!=0)
cout<<" ";
cout<<b[i][k];}
cout<<"\n";}}
A1108
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <string.h>
using namespace std;
int main(){
int n;
double c,sum1=0,sum2=0;
char a[50],b[50];
cin>>n;for(int i=0; i<n; i++){scanf("%s",a);sscanf(a,"%lf",&c);sprintf(b,"%.2f",c);
int flag=0;for(int h=0; h<strlen(a); h++){if(a[h]!=b[h])
flag=1;}if((c>=(-1000))&&(c<=1000)&&(flag==0)){
sum1+=c;
sum2++;
continue;}
else
cout << "ERROR: " << a << " is not a legal number" << endl;}if(sum2==0)
cout<<"The average of 0 numbers is Undefined";//1
if(sum2==1)
cout<<"The average of 1 number is "<<fixed<<setprecision(2)<<sum1/sum2;//2
if(sum2>1)
cout<<"The average of "<<sum2<<" numbers is "<<fixed<<setprecision(2)<<sum1/sum2;//0 3
}
A1109
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <math.h>
using namespace std;
struct people{
string name;
int height;} a[10000];
bool cmp(people a,people b){if(a.height!=b.height)
return a.height>b.height;if(a.name!=b.name)
return a.name<b.name;}int main(){
int n,k,m;
cin>>n>>k;
vector<people> v;for(int i=0; i<n; i++){
cin>>a[i].name>>a[i].height;
v.push_back(a[i]);}sort(v.begin(),v.end(),cmp);
int t = 0, row = k;
while(row){if(row == k)
m = n - n / k * (k - 1);
else
m = n / k;
vector<string> ans(m);
ans[m / 2] = v[t].name;//中间的人 t=0
// 左边一列
int j = m / 2 - 1;for(int i = t + 1; i < t + m; i = i + 2)//单数
ans[j--] = v[i].name;
// 右边一列
j = m / 2 + 1;for(int i = t + 2; i < t + m; i = i + 2)//双数
ans[j++] = v[i].name;
// 输出当前排
cout << ans[0];for(int i = 1; i < m; i++)
cout << " " << ans[i];
cout << endl;
t = t + m;
row--;}}
A1116
#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int number){for(int i=2; i*i<=number; i++)
if (number%i==0)
return false;
return true;}void fuc(int m,int a[],int b[]){if(a[m]==0)
cout<<": Are you kidding?"<<endl;
else{if(b[m]>0)
cout<<": Checked"<<endl;
else{
b[m]=1;if(a[m]==1)
cout<<": Mystery Award"<<endl;
else if(isPrime(a[m]))
cout<<": Minion"<<endl;
else
cout<<": Chocolate"<<endl;}}}int main(){
int n,m;
cin>>n;
int a[10001]={0};
int b[10001]={0};
vector <int> ve;for(int i=0; i<n; i++){
cin>>m;
a[m]=i+1;}
int k;
cin>>k;for(int i=0; i<k; i++){
cin>>m;
ve.push_back(m);}for(int i=0;i<k;i++){printf("%04d",ve[i]);fuc(ve[i],a,b);}}
A1117
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n,m,pos=0;
cin>>n;
vector <int> ve;for(int i=0; i<n; i++){
cin>>m;
ve.push_back(m);}sort(ve.begin(),ve.end());reverse(ve.begin(),ve.end());for(int i=0; i<n; i++){if(ve[i]>i+1){
pos=i+1;}}
cout<<pos;}
A1121
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int main(){
int n,m;
cin>>n;
int x,y,k;
set<int> s;
int a[100000]={0};
int b[100000]={0};
vector<int> ve;for(int i=0; i<n; i++){
cin>>x>>y;
a[x]=y;
a[y]=x;}
cin>>m;for(int i=0; i<m; i++){
cin>>x;
b[x]=1;
ve.push_back(x);}for(int i=0; i<m; i++){
k=ve[i];if(b[a[k]]!=1)
s.insert(k);}
cout<<s.size()<<endl;for(auto it = s.begin(); it != s.end(); it++){if(it!=s.begin())
cout<<" ";printf("%05d",*it);}}