自己写的代码,测评结果错误,分数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; }