why? 30分求助 qwq 测试点#2正确
查看原帖
why? 30分求助 qwq 测试点#2正确
526356
Zhang_JY楼主2023/5/29 23:40
#include<bits/stdc++.h>
using namespace std;
int n=0;
int money[101]={};
int maxk(){
	int maxn=-191981544;
	int maxi=0;
	for(int i=1;i<=n;i++){
		if(money[i]>maxn){
			maxn=money[i];
			maxi=i;
		}
	}
	return maxi;
}
struct student{
	string name;
	int pointqm;
	int classpy;
	char monitor;
	char west;
	int zuowen;
}a[101];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].name;
		cin>>a[i].pointqm;
		cin>>a[i].classpy;
		cin>>a[i].monitor;
		cin>>a[i].west;
		cin>>a[i].zuowen;
	}
//	for(int i=1;i<=n;i++){
//		cout<<a[i].name<<' ';
//		cout<<a[i].pointqm<<' ';
//		cout<<a[i].classpy<<' ';
//		cout<<a[i].monitor<<' ';
//		cout<<a[i].west<<' ';
//		cout<<a[i].zuowen<<endl;
//	}
	for(int i=1;i<=n;i++){
		if(a[i].pointqm>80&&a[i].zuowen>=1){
			money[i]+=8000;
		}
		if(a[i].pointqm>85&&a[i].classpy>80){
			money[i]+=4000;
		}
		if(a[i].pointqm>90){
			money[i]+=2000;
		}
		if(a[i].pointqm>85&&a[i].west=='Y'){
			money[i]+=1000;
		}
		if(a[i].pointqm>80&&a[i].monitor=='Y'){
			money[i]+=850;
		}
	}
	int k=maxk();
	cout<<a[k].name<<endl<<money[k]<<endl;
	int sum=0;
	for(int i=1;i<=n;i++){
		sum+=money[i];
	}
	cout<<sum;
} 
2023/5/29 23:40
加载中...