期末预测之最佳阈值
自己写的代码,测评结果错误,分数50,但是两个样例的测评结果都是对的,暂时不知道是哪里出了问题
#include <iostream>
#include<cstdio>
#include<algorithm>
#define MAXN 100000
using namespace std;
using gg=long long;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
gg result[MAXN+1];//结果表
gg y[MAXN+1];//安全指数表
gg correct[MAXN+1];//记录每个阈值的正确预测次数
gg get(gg i,gg n){//返回第i个安全指数为与阈值时,预测正确次数
gg count=0LL;
gg sita=y[i];//阈值
// gg predict[MAXN+1];//预测结果
gg predict;//预测结果
for(gg j=1LL;j<=n;j++){//遍历结果数组,计算预测正确次数
if(y[j]>=sita){//安全指数大于等于阈值,判断为1
predict=1;
}
else{
predict=0;
}
//预测结果与最终结果比较
if(predict==result[j]){
count++;
}
}
return count;//返回正确次数
}
int main(int argc, char** argv) {
ios::sync_with_stdio(false);
cin.tie(0);
gg n;
cin>>n;
for(gg i=1;i<=n;i++){
cin>>y[i]>>result[i];//输入y[i]
}
gg max=correct[1];//最大正确次数
gg k=1;//记录阈值编号
for(gg i=1LL;i<=n;i++){
correct[i]=get(i,n);//当阈值为y[i]时,预测争取的次数
if(correct[i]>=max){
max=correct[i];
k=i;
}
}
cout<<y[k];
return 0;
}