Submission #1148282

#TimeUsernameProblemLanguageResultExecution timeMemory
1148282SyedSohaib_123Infinite Race (EGOI24_infiniterace2)C++20
29 / 100
7 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

#define append push_back
#define int long long

const int N=2e5+10,LG=21;
int mod=998244353;

int cnt[N],tot[N],bk[N],x[N];

void solve(int tst){
    int n,q;
    cin>>n>>q;
    int ans=0;
    for(int i=1;i<n;i++) cnt[i]=bk[i]=0;
    int last=0;
    for(int i=1;i<=q;i++){
        int a;cin>>a;
        if(a<0){
            a=-a;
            x[a]=bk[a];
            bk[a]=0;
            tot[a]+=max(0ll,cnt[a]),ans=max(ans,tot[a]);
            cnt[a]=0;
        }
        else{
            cnt[a]+=bk[a]+(last and last!=a);
            if(bk[a]) last=a;
            bk[a]=1;
        }
        last=abs(a);
    }
    for(int i=1;i<n;i++) tot[i]+=max(0ll,cnt[i]),ans=max(ans,tot[i]);
    cout<<ans<<endl;
}

signed main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    // cin >> t;
    for(int i=1;i<=t;i++)
        solve(i);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...