CCF202012
第二题:期末成绩的阈值判定
- CCF21次
- 第二题:期末考试的阈值判定
- 小明仍然很担心期末考试会不会过,于是给出了找到了往年学姐学长评分yi和是否挂科的信息result,找出不会挂科的最大阈值theta。(找出最优评分结果预测)
- 输入:
- 第一行输入m,输入m行评分yi,i=1~m和result。
- 输出:
- 阈值theta
- 例子
- 6
- 0 0
- 1 0
- 1 1
- 3 1
- 5 1
- 7 1
- 例子说明:
- 阈值为1 和3时正确预测数均为5,则输出3。
#include <iostream>
using namespace std;
int main(){
freopen("test.txt","r",stdin);
int m;
scanf("%d",&m);
int y[m],rs[m],s[m]; //输入yi,result。s用来记录每个阈值可以预测正确的个数
for(int i=0;i<m;i++){
scanf("%d %d",&y[i],&rs[i]);
}
int smx=0,thmx=0; //输出:thmx记录最大的阈值, smx:阈值可以预测正确的最多的个数
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){ //找出与阈值结果相同的个数s[i]
if(y[j]>=y[i]){ //找到比阈值大的数
if(rs[j]==1) //结果为1的个数
s[i]++;
}
else{ //比阈值小
if(rs[j]==0) //结果为0的个数
s[i]++;
}
}
if(s[i]>smx){ //最大的结果相同的个数
smx=s[i];
if(thmx<y[i]) //最大的阈值
thmx=y[i];
}
}
return 0;
}