Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32738 郭澍宇 【J】ask C++ 通过 100 82 MS 82380 KB 779 2024-09-29 14:43:09

Tests(25/25):


#include<bits/stdc++.h> using namespace std; int n,q; long long t[105],st[250005][105],a[250005],ans =0,k,op,b; int main(){ cin>>n>>q; for(int i = 1;i<=n;i++){ cin>>a[i]; t[a[i]]++; for(int k = 1;k<=100;k++){ st[i][k]=t[k]; } } for(int i = 1;i<=n;i++){ for(int j =a[i]+1;j<=100;j++){ ans+=st[i][j]; } } while(q--){ scanf("%lld",&op); if(op==2){ t[a[n]]--; for(int i = 1;i<=100;i++){ if(a[n]<i){ ans-=st[n][i]; } st[n][i]=0; } a[n]=0; n--; } if(op==1){ scanf("%lld",&k); n++; a[n]=k; t[a[n]]++; st[n][a[n]]=1; for(int i = 1;i<=100;i++){ st[n][i]+=st[n-1][i]; if(a[n]<i){ ans+=st[n][i]; } } } printf("%lld\n",ans); } }


测评信息: