90......
查看原帖
90......
881317
spessert楼主2024/9/11 15:46

测试点9没过,但是下载样例后发现输出的没错!??

#include <bits/stdc++.h>
using namespace std;
struct Student{
	string name;  //姓名 
	int score1,score2; //俩成绩 
	char m,x;  //学生干部和西部省份 
	int num; //论文数 
	int res;
}stu[105];
bool cmp(Student x,Student y){
	return x.res>y.res;
}
int main()
{
  int n;  cin>>n;
  long long sum=0;
  for(int i=1;i<=n;i++){
  	cin>>stu[i].name>>stu[i].score1>>stu[i].score2>>stu[i].m>>stu[i].x>>stu[i].num;
  	stu[i].res=0;
  	if(stu[i].score1>80&&stu[i].num>=1){
  		stu[i].res+=8000;
  	}
    if(stu[i].score1>85&&stu[i].score2>80){
  		stu[i].res+=4000;
  	}
    if(stu[i].score1>90){
  		stu[i].res+=2000;
  	}
    if(stu[i].score1>85&&stu[i].x=='Y'){
  		stu[i].res+=1000;
  	}
    if(stu[i].score2>80&&stu[i].m=='Y'){
  		stu[i].res+=850;
  	}
  	sum+=stu[i].res;
  }

  sort(stu+1,stu+1+n,cmp);
  cout<<stu[1].name<<endl<<stu[1].res<<endl<<sum;
  return 0;
}
2024/9/11 15:46
加载中...