一、题目报告
赛时爆零(因为文件名写错了 ̄へ ̄)
二、赛中概况
T1做题过程:T1这道题目,我大眼一看,发现它的题目并不是很难,我就开始搞这道题。后来,我发现有一个题目的条件我写不出来,我便看了一下数据范围,它有30%的数据没有这个条件,我便放弃了那个写不出来的条件。但是,那个我会的条件我也没做出来。所以,就算没有写错文件名,这道题也会爆零。看一下这个奇怪的for循环。
for(int i = 1; i <= n; i++) {
if(c[i] >= '0' && c[i] <= '9') {
if(c[i + 1] >= '0' && c[i + 1] <= '9') {
a[++cnt1] = (c[i] - 48) * 10 + (c[i + 1] - 48);
x = c[i + 1];
} else {
a[++cnt1] = c[i];
a[cnt1] -= 48;
if (x == c[i]) {
continue;
}
x = 0;
}
}
T2做题过程:这道题目因为T1耗费的时间太长,只是根据表面意思,写了一个很简单的代码(这道题目需要改变队列的顺序,求一个最小值,但我没有找最小值,求差之后,直接输出了),我以为可以混个10分20分的,但是题目没有给我机会,它爆零了。这到题目完全是无脑写的。
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int n,a[N];
int sum1 = 0, sum2 = 0;
int main(){
freopen("spearshield.in","r", stdin);
freopen("spearshield.out", "w", stdout);
cin >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
if(a[i] == 0){
sum1 += i;
}else{
sum2 += i;
}
}
cout << sum1 - sum2;
fclose(stdin);
fclose(stdout);
return 0;
}