问题描述
一天,poorpool让一群人上台领奖。poorpool所在的学校非常有钱,他们的奖励是这样的:
*竞赛得奖。省一1000元,省二500元,省三300元。*
*考试得奖。如果是年级一百及以前800元,否则如果是二百及以前600元,否则如果是三百及以前400元。*
*干部得奖。是学生会干部则150元,是班干部则125元。*
为了增加趣味性,所有编号末尾是3的学生只拿233元,无论他是什么身份。
输入格式
第一行是学生人数nn。
下来nn行,每行先是这个学生的编号,然后有三个整数:
第一个代表竞赛拿了几等奖,0代表未得,123分别对应省一二三。
第二个代表考试在年级里排了多少名。
第三个代表干部情况,0代表不是干部,1代表是学生会干部,2代表是班干部,3代表既是学生会干部又是班干部。
代码如下:
#include "bits/stdc++.h"
using namespace std;
int n,x[50005],y[50005],a,b,c,d;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d %d %d %d",a,b,c,d);
x[i]=a;
switch(b){
case 1:
y[i]+=1000;break;
case 2:
y[i]+=500;break;
case 3:
y[i]+=300;break;
default:
break;
}
if(c<=100) y[i]+=800;
else if(c>100&&c<=200) y[i]+=600;
else if(c>200&&c<=300) y[i]+=400;
switch(d){
case 1:
y[i]+=150;break;
case 2:
y[i]+=125;break;
case 3:
y[i]+=275;break;
default:
break;
}
if(a%10==3) y[i]=233;
}
for(int i=1;i<=n;i++){
if(y[i]>=700||y[i]==233)
scanf("%d %d",y[i],x[i]);
}
return 0;
}
为什么会停止工作啊啊啊!!!