题解:P10844 [EGOI2024] Infinite Race / 无限赛跑
Dream_Stars · · 题解
题目大意:
有
算法分析:
考虑模拟。\
这道题对于超过终点线的判定如下:\
若原来在
我们可以使用一个
代码展示:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 * 2 + 10;
long long ans,n,t,x,a[N];
int main()
{
scanf("%lld%lld",&n,&t);
ans = 1;//ans最开始赋1,便利统计
for(int i = 1 ; i <= t ; i++){
scanf("%lld",&x);
//分成两种情况讨论
if(x <= 0)
a[abs(x)] = 0;//被超过,那么那个位置的人就无法被连续超过两次,故清零
else{
if(a[x] == ans) ans++;
a[x] = ans;//判断
}
}
cout << ans - 1 ;
return 0;//return 养成好习惯
}