515 条题解
-
0
wzc1995 LV 10 @ 2014-06-29 20:43:17
n=int(raw_input())
a,ans=[],[]
tot,totans=0,0
for i in range(n):
a=raw_input().split(' ')
now=0
if int(a[1])>80 and int(a[5]):
now=now+8000
if int(a[1])>85 and int(a[2])>80:
now=now+4000
if int(a[1])>90:
now=now+2000
if int(a[1])>85 and a[4]=='Y':
now=now+1000
if int(a[2])>80 and a[3]=='Y':
now=now+850
tot=tot+now
if totans<now:
totans=now
ans=a
print ans[0]
print totans
print tot -
02014-06-08 10:00:11@
var n:integer;
a:array[1..100]of string;
b:array[1..100,1..2]of integer;
c:array[1..100]of char;
d:array[1..100]of char;
e:array[1..100]of integer;
sum:array[1..100]of longint;
i:integer;
max,maxs,s:longint;
ch,k:char;
begin
readln(n);
fillchar(sum,sizeof(sum),0);
for i:=1 to n do begin
a[i]:='';
repeat
read(ch);
if ch<>' ' then a[i]:=a[i]+ch;
until ch=' ';
readln(b[i,1],b[i,2],k,c[i],k,d[i],e[i]);
if (b[i,1]>80) and(e[i]>=1)then inc(sum[i],8000);
if (b[i,1]>85) and(b[i,2]>80)then inc(sum[i],4000);
if (b[i,1]>90) then inc(sum[i],2000);
if (b[i,1]>85) and(d[i]='Y')then inc(sum[i],1000);
if (b[i,2]>80) and(c[i]='Y')then inc(sum[i],850);
end;
maxs:=0;
for i:=1 to n do if sum[i]>maxs then begin
max:=i;
maxs:=sum[i];
end;
writeln(a[max]);
writeln(sum[max]);
s:=0;
for i:=1 to n do inc(s,sum[i]);
writeln(s);
end. -
02014-06-07 16:49:03@
#include<stdio.h>
struct
{char name[50];
int jun;
int yi;
char xg;
char xx;
int num;
int jing;
}stu[320];
int main()
{freopen("ex1.in","r",stdin);
freopen("ex1.out","w",stdout);
int i,n,b=1;
long max,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%s %d %d %c %c %d",stu[i].name,&stu[i].jun,&stu[i].yi,&stu[i].xg,&stu[i].xx,&stu[i].num);
stu[i].jing=0;
}
for(i=1;i<=n;i++)
{
if(stu[i].jun>80 && stu[i].num>=1)stu[i].jing+=8000;
if(stu[i].jun>85 && stu[i].yi>80) stu[i].jing+=4000;
if(stu[i].jun>90) stu[i].jing+=2000;
if(stu[i].jun>85 && stu[i].xx=='Y')stu[i].jing+=1000;
if(stu[i].yi>80 && stu[i].xg=='Y')stu[i].jing+=850;
}
max=stu[1].jing;b=1;
for(i=1;i<=n;i++)
{
if(max<stu[i].jing){max=stu[i].jing;b=i;}
sum=sum+stu[i].jing;
}
printf("%s\n%d\n%ld",stu[b].name,stu[b].jing,sum);
return 0;
}
-
02014-05-13 22:49:31@
#include <stdio.h>
typedef struct
{
char name[18]; //姓名
int end_grade; //期末平均成绩
int class_grade; //班级评议成绩
char ganbu; //学生干部 Y/N
char xibu; //西部学生 Y/N
int lunwen; //论文数量 1~10
int all; //奖金总额
}Student;int index; //保存奖金最大的学生下标
int temp; //交换变量
int total; //存储所有学生奖金总额
Student stu[100];void fun(Student *student, int i); //计算该学生的奖金额和统计所有学生的奖金总额,并判断哪个学生奖金额最高
int main()
{
int i=0;
scanf("%d", &i); //输入第i个学生信息
while (i)
{
scanf("%s %d %d %c %c %d", &stu[i].name, //格式字符s,d,c分别表示 字符串、带符号的整形数、字符等
&stu[i].end_grade,
&stu[i].class_grade,
&stu[i].ganbu,
&stu[i].xibu,
&stu[i].lunwen);
fun(&stu[i], i);
--i; //输入的学生数到达i个后,跳出循环
} //打印获奖金数最多的学生姓名、该生所获奖金数、全部学生所获奖金数
printf("%s\n%d\n%d\n", stu[index].name, stu[index].all, total);
}
void fun(Student *student, int i)
{(*student).all = 0;
//班级贡献奖
if ((*student).class_grade > 80 && (*student).ganbu == 'Y' )
{
(*student).all += 850;
}
//五四奖学金
if ((*student).class_grade > 80 && (*student).end_grade > 85 )
{
(*student).all += 4000;
}
//院士奖学金
if ((*student).end_grade > 80 && (*student).lunwen >= 1)
{
(*student).all += 8000;
}
//成绩优秀奖
if ((*student).end_grade > 90)
{
(*student).all += 2000;
}
//西部奖学金
if ((*student).end_grade > 85 && (*student).xibu == 'Y')
{
(*student).all += 1000;
}total += (*student).all; //统计所有学生的总金额
if (temp < (*student).all) //判断哪个学生奖金额最高
{
temp = (*student).all; //把该生最高奖金额数赋给temp
index = i; //保存奖金最大的学生下标
}
} -
02014-05-07 00:09:56@
#include <iostream>
#include <string>
using namespace std;class Student
{
public:
string name;
int final,class_,count,prize;
char sir,west;
Student(){};
Student(string a,int b,int c,char d,char e,int f)
{
name=a;
final=b;
class_=c;
sir=d;
west=e;
count=f;
prize=0;
}
int getPrize() const
{
int p=0;
if(final>80&&count>=1) p+=8000;
if(final>85&&class_>80) p+=4000;
if(final>90) p+=2000;
if(final>85&&west=='Y') p+=1000;
if(class_>80&&sir=='Y') p+=850;return p;
}Student& operator = (Student it)
{
name=it.name;
final=it.final;
class_=it.class_;
sir=it.sir;
west=it.west;
count=it.count;
}
void display() const
{
cout<< name << " " << this->getPrize() <<endl;
}
};
int main()
{
int t;
cin>> t;
Student haha[100];string name;
int final,class_,count;
char sir,west;int index=0,n=t;
while(n--)
{
cin>> name >> final >> class_ >> sir >> west >> count;
haha[index]=Student(name,final,class_,sir,west,count);
++index;
}int sum=0,high=0,ans=0;
for(int i=0; i<t; ++i)
{
int key=haha[i].getPrize();
if(key>high)
{
ans=i;
high=key;
}
sum+=key;
}cout<< haha[ans].name <<endl;
cout<< haha[ans].getPrize() <<endl;
cout<< sum <<endl;return 0;
} -
02014-04-27 17:47:15@
pascaler 哪错了?请看这个:
-
02014-04-26 18:35:10@
var i,j,k,l,n,m,ans1,max:longint;
student:array[0..1000] of record
name:string;
score:longint;
classes:longint;
carde:string[2];
west:string[2];
article:longint;
money:longint;
end;
c:char;
ans:string;
begin
readln(n);
for i:=1 to n do
with student[i] do begin
name:='';
c:='a';
while c<>' ' do begin
read(c);
if c<>' ' then name:=name+c;
end;
read(score);
read(classes);
read(carde);
read(west);
readln(article);
if (score>80) and (article>=1) then money:=money+8000;
if (score>85) and (classes>80) then money:=money+4000;
if (score>90) then money:=money+2000;
if (score>85) and (west=' Y') then money:=money+1000;
if (classes>80) and (carde=' Y') then money:=money+850;
if money>max then begin
max:=money;
ans:=name;
end;
ans1:=ans1+money;
end;
writeln(ans);
writeln(max);
writeln(ans1);
end.
哪错了?(pascal) -
02014-03-23 16:30:40@
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <time.h>
#include <string.h>using namespace std;
struct geren{
char name[32];
int qm;
int bj;
char gb;
char xb;
int lw;
int sum;
int sh;
};geren a[101];
int main(int argc,char *argv[])
{
int i,j,k,n,m;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].gb>>a[i].xb>>a[i].lw;
a[i].sum=0;
a[i].sh=i;
}
k=0;
for(i=0;i<n;i++)
{
if(a[i].qm>80 && a[i].lw>0)
{
a[i].sum+=8000;
k+=8000;
}
if(a[i].qm>85 && a[i].bj>80)
{
a[i].sum+=4000;
k+=4000;
}
if(a[i].qm>90)
{
a[i].sum+=2000;
k+=2000;
}
if(a[i].qm>85 && a[i].xb=='Y')
{
a[i].sum+=1000;
k+=1000;
}
if(a[i].bj>80 && a[i].gb=='Y')
{
a[i].sum+=850;
k+=850;
}
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j].sum>a[i].sum)
swap(a[i],a[j]);
}
}
j=a[0].sh;
m=0;
for(i=1;i<n;i++)
{
if(a[i].sum==a[0].sum)
{
if(a[i].sh<j)
{
j=a[i].sh;
m=i;
}
}
}
cout<<a[m].name<<endl;
cout<<a[m].sum<<endl;
cout<<k<<endl;
// system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <time.h>
#include <string.h>using namespace std;
struct geren{
char name[32];
int qm;
int bj;
char gb;
char xb;
int lw;
int sum;
int sh;
};geren a[101];
int main(int argc,char *argv[])
{
int i,j,k,n,m;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].gb>>a[i].xb>>a[i].lw;
a[i].sum=0;
a[i].sh=i;
}
k=0;
for(i=0;i<n;i++)
{
if(a[i].qm>80 && a[i].lw>0)
{
a[i].sum+=8000;
k+=8000;
}
if(a[i].qm>85 && a[i].bj>80)
{
a[i].sum+=4000;
k+=4000;
}
if(a[i].qm>90)
{
a[i].sum+=2000;
k+=2000;
}
if(a[i].qm>85 && a[i].xb=='Y')
{
a[i].sum+=1000;
k+=1000;
}
if(a[i].bj>80 && a[i].gb=='Y')
{
a[i].sum+=850;
k+=850;
}
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j].sum>a[i].sum)
swap(a[i],a[j]);
}
}
j=a[0].sh;
m=0;
for(i=1;i<n;i++)
{
if(a[i].sum==a[0].sum)
{
if(a[i].sh<j)
{
j=a[i].sh;
m=i;
}
}
}
cout<<a[m].name<<endl;
cout<<a[m].sum<<endl;
cout<<k<<endl;
// system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <time.h>
#include <string.h>using namespace std;
struct geren{
char name[32];
int qm;
int bj;
char gb;
char xb;
int lw;
int sum;
int sh;
};geren a[101];
int main(int argc,char *argv[])
{
int i,j,k,n,m;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].gb>>a[i].xb>>a[i].lw;
a[i].sum=0;
a[i].sh=i;
}
k=0;
for(i=0;i<n;i++)
{
if(a[i].qm>80 && a[i].lw>0)
{
a[i].sum+=8000;
k+=8000;
}
if(a[i].qm>85 && a[i].bj>80)
{
a[i].sum+=4000;
k+=4000;
}
if(a[i].qm>90)
{
a[i].sum+=2000;
k+=2000;
}
if(a[i].qm>85 && a[i].xb=='Y')
{
a[i].sum+=1000;
k+=1000;
}
if(a[i].bj>80 && a[i].gb=='Y')
{
a[i].sum+=850;
k+=850;
}
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j].sum>a[i].sum)
swap(a[i],a[j]);
}
}
j=a[0].sh;
m=0;
for(i=1;i<n;i++)
{
if(a[i].sum==a[0].sum)
{
if(a[i].sh<j)
{
j=a[i].sh;
m=i;
}
}
}
cout<<a[m].name<<endl;
cout<<a[m].sum<<endl;
cout<<k<<endl;
// system("pause");
return 0;
} -
02014-03-02 21:28:38@
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <time.h>
#include <string.h>using namespace std;
struct geren{
char name[32];
int qm;
int bj;
char gb;
char xb;
int lw;
int sum;
int sh;
};geren a[101];
int main(int argc,char *argv[])
{
int i,j,k,n,m;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].gb>>a[i].xb>>a[i].lw;
a[i].sum=0;
a[i].sh=i;
}
k=0;
for(i=0;i<n;i++)
{
if(a[i].qm>80 && a[i].lw>0)
{
a[i].sum+=8000;
k+=8000;
}
if(a[i].qm>85 && a[i].bj>80)
{
a[i].sum+=4000;
k+=4000;
}
if(a[i].qm>90)
{
a[i].sum+=2000;
k+=2000;
}
if(a[i].qm>85 && a[i].xb=='Y')
{
a[i].sum+=1000;
k+=1000;
}
if(a[i].bj>80 && a[i].gb=='Y')
{
a[i].sum+=850;
k+=850;
}
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j].sum>a[i].sum)
swap(a[i],a[j]);
}
}
j=a[0].sh;
m=0;
for(i=1;i<n;i++)
{
if(a[i].sum==a[0].sum)
{
if(a[i].sh<j)
{
j=a[i].sh;
m=i;
}
}
}
cout<<a[m].name<<endl;
cout<<a[m].sum<<endl;
cout<<k<<endl;
system("pause");
return 0;
} -
02014-02-04 23:57:51@
#include<stdio.h>
struct student
{
char name[30];
int qm;
int bj;
char gb;
char xb;
int lw;
int ss;
};int main()
{
student s[110];
int n,m,i;
int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %d %c %c %d",&s[i].name,&s[i].qm,&s[i].bj,&s[i].gb,&s[i].xb,&s[i].lw);
s[i].ss=0;
if(s[i].qm>80&&s[i].lw>0) s[i].ss+=8000;
if(s[i].qm>85&&s[i].bj>80) s[i].ss+=4000;
if(s[i].qm>90) s[i].ss+=2000;
if(s[i].xb=='Y'&&s[i].qm>85) s[i].ss+=1000;
if(s[i].bj>80&&s[i].gb=='Y') s[i].ss+=850;
sum+=s[i].ss;
if(i==0) m=0;
else
{
if(s[i].ss>s[m].ss) m=i;
}
}
printf("%s\n%d\n%d\n",s[m].name,s[m].ss,sum);
return 0;
} -
02014-01-20 11:52:08@
#include<stdio.h>
int main()
{
char name[100][20],gb[100],xb[100];
int i,n,pj[100],py[100],lw[100],max=0,h=0,max2=0,temp=0;
for(i=0;i<n;i++)
{
scanf("%s %d %d %c %c %d",name[i],&pj[i],&py[i],&gb[i],&xb[i],&lw[i]);
if(pj[i]>80 && lw[i]>=1)temp+=8000;
if(pj[i]>85 && py[i]>80)temp+=4000;
if(pj[i]>90)temp+=2000;
if(pj[i]>85 && xb[i]=="Y")temp+=1000;
if(py[i]>80 && gb[i]=="Y")temp+=850;
if(temp>max){max=temp;max2=i;};
h+=temp;
temp=0;
}
printf("%s\n%d\n%d",name[max2],max,h);
return 0;
}
一直ce啥情况 -
02014-01-20 11:50:44@
###block code
#include<stdio.h>
int main()
{
char name[100][20],gb[100],xb[100];
int i,n,pj[100],py[100],lw[100],max=0,h=0,max2=0,temp=0;
for(i=0;i<n;i++)
{
scanf("%s %d %d %c %c %d",name[i],&pj[i],&py[i],&gb[i],&xb[i],&lw[i]);
if(pj[i]>80 && lw[i]>=1)temp+=8000;
if(pj[i]>85 && py[i]>80)temp+=4000;
if(pj[i]>90)temp+=2000;
if(pj[i]>85 && xb[i]=="Y")temp+=1000;
if(py[i]>80 && gb[i]=="Y")temp+=850;
if(temp>max){max=temp;max2=i;};
h+=temp;
temp=0;
}
printf("%s\n%d\n%d",name[max2],max,h);
return 0;
}
这哪里有问题一直ce -
02014-01-04 18:43:43@
-
02014-01-01 11:57:08@
Vijos 题解:http://hi.baidu.com/umule/item/2c997f8ed9600fdae596e017
有疑问请留言 共同进步 -
02013-12-12 13:34:16@
###代码
var qm,bg,lw,mn,bj:array[1..100] of integer;
i,j,n,y,z:integer;
zongfen:longint;
name,b:string;
xb,gb:array[1..100] of char;
begin
readln(n);
for i:=1 to n do
read(name[i]);
read(qm[i]);
read(bj[i]);
read(gb[i]);
read(xb[i]);
read(lw[i]);
for i:=1 to n do
begin
if (qm[i]>80) and (lw[i]>=1) then mn[i]:=mn[i]+8000;
if (qm[i]>85) and (bj[i]>80) then mn[i]:=mn[i]+4000;
if (qm[i]>90) then mn[i]:=mn[i]+2000;
if (xb[i]='Y') and (qm[i]>85) then mn[i]:=mn[i]+1000;
if (bj[i]>80) then mn[i]:=mn[i]+850;
end;
j:=0;
for i:=1 to n do zongfen:=zongfen+mn[i];
for i:=1 to n do
begin
if mn[i]>j then
begin
j:=mn[i];
b:=name[i];
y:=mn[i];
z:=zongfen;
end;
end;
end.
为什么运行时错误。。。求助 -
02013-12-10 22:01:12@
program test;
var
a,b,c,d,n:string;
i,j,k,x,y,z,r,v,s:integer;
t:longint;
begin
readln(k);
for i:=1 to k do
begin
readln(a);
j:=pos(' ',a);
b:=copy(a,1,j-1);
delete(a,1,j);
j:=pos(' ',a);
val(copy(a,1,j-1),x,r);
delete(a,1,j);
j:=pos(' ',a);
val(copy(a,1,j-1),y,r);
delete(a,1,j);
j:=pos(' ',a);
c:=copy(a,1,j-1);
delete(a,1,j);
j:=pos(' ',a);
d:=copy(a,1,j-1);
delete(a,1,j-1);
val(copy(a,1,length(a)),z,r);
if (x>80) and (z>=1) then v:=v+8000;
if (x>85) and (y>80) then v:=v+4000;
if x>90 then v:=v+2000;
if (x>85) and (d='Y') then v:=v+1000;
if (x>80) and (c='Y') then v:=v+850;
if s<v then
begin
s:=v;
n:=b;
end;
t:=t+v;
v:=0;
end;
writeln(n);
writeln(s);
writeln(t);
end. -
02013-12-03 18:06:34@
以此庆祝我的第一个c++程序
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{ char kun,gan;
char name[101][100];
int max,mark,classmark;
int n,wen,jiang[101];
cin>>n;
max=0;
int i;
for (i=1;i<=n;i++)
{
scanf("%s %d %d %c %c %d",name[i],&mark,&classmark,&gan,&kun,&wen);
jiang[i]=0;
if ((mark>80)&&(wen>=1))
{jiang[i]+=8000;}
if ((mark>85)&&(classmark>80))
{jiang[i]+=4000;}
if (mark>90)
{
jiang[i]+=2000;
}
if ((mark>85)&&((int) kun == (int)'Y'))
{
jiang[i]+=1000;
}
if ((classmark>80)&&((int) gan== (int)'Y'))
{
jiang[i]+=850;
}
if (jiang[i]>max) {max=jiang[i];}
}
int sum=0;
for (i=1;i<=n;i++)
{
sum+=jiang[i];
}
for (i=1;i<=n;i++)
{
if (max==jiang[i]){printf("%s\n",name[i]);printf("%d\n",jiang[i]);break;}
}
printf("%d\n",sum);
return 0;
} -
02013-12-01 21:41:01@
#include <cstdio>
#include <cstring>
#include <algorithm>
#define REP( i, n ) for ( int i = 1; i <= n; i ++ )
#define FOR( i, a, b ) for ( int i = a; i <= b; i ++ )
#define DWN( i, a, b ) for ( int i = b; i >= a; i -- )
#define RST( a, x ) memset ( a, x, sizeof ( a ) );
#define QN q[ i ].name
#define QS1 q[ i ].scr1
#define QS2 q[ i ].scr2
#define QT q[ i ].stu
#define QW q[ i ].west
#define QP q[ i ].pap
#define QZ q[ i ].prz
#define QO q[ i ].pos
#define TRUE == 'Y'
#define NSIZE 102
#define ONLINE_JUDGE NULLusing namespace std;
struct arr
{
char name[ 30 ], stu[ 3 ], west[ 3 ];
int scr1, scr2, pap, prz, pos;
};
int n, ans = 0;
arr q[ NSIZE ];
bool cmp ( arr a, arr b )
{
if ( a.prz != b.prz ) return a.prz > b.prz;
return a.pos < b.pos;
}
int main ()
{#ifndef ONLINE_JUDGE
freopen ( "P1001.in", "r", stdin );
freopen ( "P1001.out", "w", stdout );
#endifscanf ( "%d", &n );
REP ( i, n )
{
scanf ( "%s%d%d%s%s%d", QN, &QS1, &QS2, QT, QW, &QP );
QZ = 0; QO = i;
if ( QS1 > 80 && QP ) QZ += 8000;
if ( QS1 > 85 && QS2 > 80 ) QZ += 4000;
if ( QS1 > 90 ) QZ += 2000;
if ( QS1 > 85 && QW[ 0 ] TRUE ) QZ += 1000;
if ( QS2 > 80 && QT[ 0 ] TRUE ) QZ += 850;
ans += QZ;
}
sort ( q + 1, q + n + 1, cmp );
printf ( "%s\n%d\n%d\n", q[ 1 ].name, q[ 1 ].prz, ans );
return 0;
}
想不通以前怎么写的…… -
02013-11-08 20:57:25@
var i,n,max,m,sum,a1,a2,b:longint;
ch,kong,p1,p2:char;
name,ans:string;
begin
readln(n);
max:=0;
for i:=1 to n do begin
m:=0; name:='';
while true do begin
read(ch);
if ch<>' ' then name:=name+ch else break;
end;
readln(a1,a2,kong,p1,kong,p2,b);
if (a1>80)and(b>0) then m:=m+8000;
if (a1>85)and(a2>80) then m:=m+4000;
if a1>90 then m:=m+2000;
if (a1>85)and(p2='Y') then m:=m+1000;
if (a2>80)and(p1='Y') then m:=m+850;
if m>max then begin
max:=m;
ans:=name;
end;
sum:=sum+m;
end;
writeln(ans);
writeln(max);
writeln(sum);
end. -
02013-11-03 09:30:25@
program p1001;
var name:array[0..100,0..20]of char;
n:integer;
qm,bp,lw:array[0..100]of integer;
gb,xb:array[0..100]of boolean;
jxj:array[0..100]of longint;
num,max:longint;
////////////////////////////////////////////////////////////////////////////////
procedure init;
var ch:char;
i,j,k:integer;
begin
for i:=0 to 100 do
for j:=0 to 20 do
name[i,j]:=' ';
readln(n);
for i:=1 to n do
begin
read(ch);
k:=0;
while ch<>' ' do
begin
inc(k);
name[i,k]:=ch;
read(ch);
end;
read(qm[i],bp[i]);
read(ch);read(ch);
if ch='Y' then gb[i]:=true
else gb[i]:=false;
read(ch);read(ch);
if ch='Y' then xb[i]:=true
else xb[i]:=false;
readln(lw[i]);
end;
end;
////////////////////////////////////////////////////////////////////////////////
procedure main;
var nn,i:integer;
begin
num:=0;max:=0;
fillchar(jxj,sizeof(jxj),0);
for i:=1 to n do
begin
if (qm[i]>80)and(lw[i]>=1) then jxj[i]:=jxj[i]+8000;
if (qm[i]>85)and(bp[i]>80) then jxj[i]:=jxj[i]+4000;
if qm[i]>90 then jxj[i]:=jxj[i]+2000;
if (qm[i]>85)and(xb[i]) then jxj[i]:=jxj[i]+1000;
if (bp[i]>80)and(gb[i]) then jxj[i]:=jxj[i]+850;
if (jxj[i]>max)or(max=0) then
begin
max:=jxj[i];
nn:=i;
end;
num:=num+jxj[i];
end;
for i:=1 to 20 do
begin
if name[nn,i]<>' ' then write(name[nn,i]);
end;
writeln;
writeln(max);
writeln(num);
end;
////////////////////////////////////////////////////////////////////////////////
begin
init;
main;
end.