202012-1 期末预测之安全指数
试题名称: 期末预测之安全指数
时间限制: 1.0s
内存限制: 512.0MB
样例1输入
6
2 60
10 100
0 70
0 0
-10 50
10 60
样例1输出
1220
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int score,w;
int y=0;
for(int i=0;i<n;i++){
cin >> score>>w;
y+=score*w;
}
if(y<0){
cout << "0" << endl;
}else{
cout << y << endl;
}
return 0;
}
202012-2 期末预测之最佳阈值(50分)
暴力50分应该要用到前缀和思想,超级不擅长这个准备去看看前缀和再回来看能不能改
#include<iostream>
#include<stack>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
struct Count{
int id;
int num0;
int num1;
};
bool cmp(Count c1,Count c2){
return c1.id<c2.id;
}
int main()
{
int m,y,result;
cin>>m;
Count c[m]={0};
int index=0;
for(int i=0;i<m;i++){
cin>>y>>result;
if(c[index].id!=y) index++;
c[index].id=y;
if(result==0) c[index].num0++;
else c[index].num1++;
}
int max=0,temp=0,res=0;
sort(c,c+index+1,cmp);
for(int i=0;i<=index;i++){
temp=0;
for(int j=0;j<i;j++){
temp+=c[j].num0;
}
for(int k=i;k<=index;k++){
temp+=c[k].num1;
}
if(max<=temp) {
max=temp;
res=c[i].id;
}
}
cout<<res;
return 0;
}