2023年10月13日
s***1 段*均
一.题目报告
最分数:130(重判后170)
T1[小可的除法练习exdiv]:100
T2[小可买糖豆jelly]:0(重判后40(数组开小了呜呜呜呜~~)
T3[序列分块piecemeal]:0(没做)
T4[射箭比赛archery]:30
比赛分析:
T1[小可的除法练习exdiv]:
这个题就是纯粹的纸老虎,本人(可能是我比较本吧)一开始读完题后,直接没读懂,但是觉得吧既然放到第一题,应该不是很难,就又多读了几遍,再读了无数遍后,终于有了思路,写出了AC代码.
T2[小可买糖豆jelly]:
这个题是本人认为,这套题里最简单的一道题(0分,我也没想到),读完题我就写出了代码,但由于最后提交的时候没有去掉注释,所以零分(呜呜呜呜呜呜呜~~)
T3[序列分块piecemeal]:
这个题,读了好几遍都没有思路(更直白一些就是没读懂),决定放弃.
T4[射箭比赛archery]:
这个题吧,读懂了题,也有思路,就是没有好好打磨我的思路,只是过了样例就匆匆提交了故只得了30分.
二.题目分析
T1[小可的除法练习exdiv]:
题目简述:
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
using namespace std;
int n;
long long a[1000005],cnt1=0,cnt2=0; //注意数据类型,cnt1正数的数量,cnt2复数的数量
int main(){
//freopen("exdiv.in","r",stdin);
//freopen("exdiv.out","w",stdout);
cin>>n;
for(int i=1;i<=n;++i){
cin>>a[i];
if(a[i]>0){//如果a[i]是整数
cnt1++;cnt1加一
}
else if(a[i]<0){如果a[i]是负数
cnt2++;//cnt2加一
}
}
if(cnt1>=n/2&&cnt1>=cnt2){//如果cnt1==cnt2且cnt1符合条件(大于等于n/2取下整)
cout<<1;//由于正负数绝对值一样,输出整数
return 0;
}
if(cnt1>=n/2&&cnt1>cnt2){//cnt1>cnt2且cnt1符合条件
cout<<1;输出整数最小(1)
}
else if(cnt2>=n/2&&cnt2>cnt1){//如果cnt2>cnt1且cnt2符合条件
cout<<-1;输出负数最小(-1)
}
else{//如果都不满足
cout<<0;输出0
}
//fclose(stdin);
//fclose(stdout);
return 0;
}