- 谁拿了最多奖学金
- 2018-07-09 14:46:40 @
在本地是可以的,其他OJ也都可以,但Vijos就不行(手动捂脸)。。。。
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
struct Student{
string s;
int a,b;
char x,y;
int l;
int p;
}s[101];
int mycomp(const Student & a,const Student & b)
{
if(a.p>b.p)
return 1;
if(a.p<b.p)
return 0;
/*if(a.s<b.s)
return 1;*/
}
int p1(Student s)
{
if(s.a>80&&s.l>=1)
return 8000;
else
return 0;
}
int p2(Student s)
{
if(s.a>85&&s.b>80)
return 4000;
else
return 0;
}
int p3(Student s)
{
if(s.a>90)
return 2000;
else
return 0;
}
int p4(Student s)
{
if(s.a>85&&s.y=='Y')
return 1000;
else
return 0;
}
int p5(Student s)
{
if(s.b>80&&s.x=='Y')
return 850;
else
return 0;
}
int main()
{
int n,count=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s[i].s>>s[i].a>>s[i].b>>s[i].x>>s[i].y>>s[i].l;
s[i].p=p1(s[i])+p2(s[i])+p3(s[i])+p4(s[i])+p5(s[i]);
count=count+s[i].p;
}
sort(s+0,s+n,mycomp);
cout<<s[0].s<<endl<<s[0].p<<endl<<count;
return 0;
}
4 条评论
-
Orina_zju LV 8 @ 2018-07-16 18:59:51
可以编译通过啊
-
2018-07-15 20:02:27@
#include<bits/stdc++.h>
int main()
{
int n,b[1001],sum;
scanf("%d",&n);
bool a[1001]={0};
for(int i=1;i<=n;i++)
{
scanf("%d",&b[i]);
a[b[i]]=1;
}
for(int i=1;i<=1001;i++)
{
if(a[i]==1)
sum+=1;
}
printf("%d\n",sum);
for(int i=1;i<=1001;i++)
{
if(a[i]==1)
printf("%d ",i);
}
}
我也是 -
2018-07-10 20:50:07@
RE,运行错
-
2018-07-10 11:23:00@
显示什么编译信息呢
- 1