#include<bits/stdc++.h>
using namespace std;
int l,m,n,o,p,q,sum,ss;
unsigned s;
struct stu{
int yw,sx,yy,ls,zz,dl,wl,sw,hx,mark,zmark,fmaxk;
}a[100001],b[100001];
bool wenlisort(stu a,stu b){
if(a.mark!=b.mark)return a.mark>b.mark;
else{
if(a.zmark!=b.zmark)return a.zmark>b.zmark;
}
}
unsigned myrand(){
s=((s*1250+time(0)+max((int)s,12345789)-min((int)s,(int)(s*4-9878452)/2)*time(0)/2%INT_MAX-985)/211);//数值可修改
return s;
}
void lizd(){
cout<<"几人选历政地?";
cin>>l;
if(l>0){
for(int i=1;i<=l;i++){
a[i].wl=a[i].sw=a[i].hx=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].zz=myrand()%101;
a[i].dl=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void lizh(){
cout<<"几人选历政化?";
cin>>m;
if(m>0){
for(int i=l+1;i<=l+m;i++){
a[i].wl=a[i].sw=a[i].dl=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].zz=myrand()%101;
a[i].hx=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void lizs(){
cout<<"几人选历政生?";
cin>>n;
if(n>0){
for(int i=l+m+1;i<=l+m+n;i++){
a[i].wl=a[i].dl=a[i].hx=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].zz=myrand()%101;
a[i].sw=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void lihs(){
cout<<"几人选历化生?";
cin>>o;
if(o>0){
for(int i=l+m+n+1;i<=l+m+n+o;i++){
a[i].wl=a[i].zz=a[i].dl=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].sw=myrand()%101;
a[i].hx=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void lidh(){
cout<<"几人选历地化?";
cin>>p;
if(p>0){
for(int i=l+m+n+o+1;i<=l+m+n+o+p;i++){
a[i].wl=a[i].sw=a[i].zz=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].hx=myrand()%101;
a[i].dl=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void lids(){
cout<<"几人选历地生?";
cin>>q;
if(q>0){
for(int i=l+m+n+o+p+1;i<=sum;i++){
a[i].wl=a[i].zz=a[i].hx=0;
a[i].yw=myrand()%151;
a[i].sx=myrand()%151;
a[i].yy=myrand()%151;
a[i].ls=myrand()%101;
a[i].sw=myrand()%101;
a[i].dl=myrand()%101;
a[i].zmark=a[i].yw+a[i].sx+a[i].yy;
a[i].fmaxk=a[i].ls+a[i].zz+a[i].dl+a[i].wl+a[i].sw+a[i].hx;
a[i].mark=a[i].fmaxk+a[i].zmark;
}
}
}
void wen(){
cout<<"几人选择文科?";
cin>>sum;
lizd();
lizh();
lizs();
lihs();
lidh();
lids();
sort(a+1,a+sum+1,wenlisort);
cout<<" 排名 语文 数学 英语 历史 政治 地理 化学 生物 总分\n";
for(int i=1;i<=sum;i++)cout<<setw(4)<<i<<setw(8)<<a[i].yw<<setw(8)<<a[i].sx<<setw(8)<<a[i].yy<<setw(8)<<a[i].ls<<setw(8)<<a[i].zz<<setw(8)<<a[i].dl<<setw(8)<<a[i].hx<<setw(8)<<a[i].sw<<setw(8)<<a[i].mark<<endl;
}
void wuzd(){
cout<<"几人选物政地?";
cin>>l;
if(l>0){
for(int i=1;i<=l;i++){
b[i].ls=b[i].sw=b[i].hx=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].zz=myrand()%101;
b[i].dl=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+a[i].zmark;
}
}
}
void wuzh(){
cout<<"几人选物政化?";
cin>>m;
if(m>0){
for(int i=l+1;i<=l+m;i++){
b[i].ls=b[i].sw=b[i].dl=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].zz=myrand()%101;
b[i].hx=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+b[i].zmark;
}
}
}
void wuzs(){
cout<<"几人选物政生?";
cin>>n;
if(n>0){
for(int i=l+m+1;i<=l+m+n;i++){
b[i].ls=b[i].dl=b[i].hx=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].zz=myrand()%101;
b[i].sw=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+b[i].zmark;
}
}
}
void wuhs(){
cout<<"几人选物化生?";
cin>>o;
if(o>0){
for(int i=l+m+n+1;i<=l+m+n+o;i++){
b[i].ls=b[i].zz=b[i].dl=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].sw=myrand()%101;
b[i].hx=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+b[i].zmark;
}
}
}
void wudh(){
cout<<"几人选物地化?";
cin>>p;
for(int i=l+m+n+o+1;i<=l+m+n+o+p;i++){
b[i].ls=b[i].sw=b[i].zz=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].hx=myrand()%101;
b[i].dl=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+b[i].zmark;
}
}
void wuds(){
cout<<"几人选物地生?";
cin>>q;
if(q>0){
for(int i=l+m+n+o+p+1;i<=sum;i++){
b[i].ls=b[i].zz=b[i].hx=0;
b[i].yw=myrand()%151;
b[i].sx=myrand()%151;
b[i].yy=myrand()%151;
b[i].wl=myrand()%101;
b[i].sw=myrand()%101;
b[i].dl=myrand()%101;
b[i].zmark=b[i].yw+b[i].sx+b[i].yy;
b[i].fmaxk=b[i].ls+b[i].zz+b[i].dl+b[i].wl+b[i].sw+b[i].hx;
b[i].mark=b[i].fmaxk+b[i].zmark;
}
}
}
void li(){
cout<<"几人选择理科?";
cin>>sum;
wuzd();
wuzh();
wuzs();
wuhs();
wudh();
wuds();
sort(b+1,b+sum+1,wenlisort);
cout<<" 排名 语文 数学 英语 物理 政治 地理 化学 生物 总分\n";
for(int i=1;i<=sum;i++)cout<<setw(4)<<i<<setw(8)<<b[i].yw<<setw(8)<<b[i].sx<<setw(8)<<b[i].yy<<setw(8)<<b[i].wl<<setw(8)<<b[i].zz<<setw(8)<<b[i].dl<<setw(8)<<b[i].hx<<setw(8)<<b[i].sw<<setw(8)<<b[i].mark<<endl;
}
void wenli(){
cout<<"几人参加高考?";
cin>>ss;
wen();
li();
}
int main(){
wenli();
}