CSP2020-12
CSP202012-1 期末预测之安全指数
1 // 2 // main.cpp 3 // CSP 202012-1 期末预测之安全指数 4 // 5 // Created by sylvia on 2021/11/14. 6 // Copyright © 2021 apple. All rights reserved. 7 // 8 9 #include <iostream> 10 #include <math.h> 11 #include <algorithm> 12 #include <string.h> 13 using namespace std; 14 #define M 10000+5 15 int n,w,score; 16 long long ans=0; 17 int main() { 18 cin>>n; 19 for (int i=1;i<=n;i++){ 20 cin>>w>>score; 21 ans+=w*score; 22 } 23 ans=ans>0?ans:0; 24 cout<<ans<<endl; 25 return 0; 26 }
CSP202012-2 期末预测之最佳阈值
前缀和思想,O(n)做法,这个数据平方肯定是过不了的,然鹅我第一遍70分的原因竟是定义数组时少开了一个0。。。。愚蠢的人类!(x
还有唔……还有22天就CSP了害,最近还emo的厉害qwq
⬇️非标准前缀和,只是用tmp模拟了一下前缀和(我总是写这种野算法。。。。
1 // 2 // main.cpp 3 // CSP 202012-2 期末预测之最佳阈值 4 // 5 // Created by sylvia on 2021/11/14. 6 // Copyright © 2021 apple. All rights reserved. 7 // 8 9 #include <iostream> 10 #include <math.h> 11 #include <algorithm> 12 #include <string.h> 13 using namespace std; 14 #define M 100000+5 15 long long n,w[M],num=0; 16 long long tmp=0,ans=0,cita=0; 17 long long sum[M]; 18 pair<long long,int> a[M]; 19 bool cmp(pair<long long,int> a,pair<long long,int> b){ 20 return a.first<b.first; 21 } 22 int main(){ 23 cin>>n; 24 for (int i=0;i<n;i++){ 25 cin>>a[i].first>>a[i].second; 26 if (a[i].second==1) num++; 27 } 28 sort(a,a+n,cmp); 29 int i=0; 30 cita=a[0].first; 31 while (a[i].first==a[i+1].first) { 32 if(a[i].second==0) tmp++; 33 i++; 34 } 35 if(!a[i].second) tmp++; 36 i++; 37 ans=num; 38 while (i<n){ 39 long long tmpans=num-(i-tmp)+tmp; 40 if (tmpans>=ans) { 41 ans=tmpans; 42 cita=a[i].first; 43 } 44 while (a[i].first==a[i+1].first) { 45 if(a[i].second==0) tmp++; 46 i++; 47 } 48 if(a[i].second==0) tmp++; 49 i++; 50 } 51 cout<<cita<<endl; 52 return 0; 53 }