Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32736 郭澍宇 【J】ask C++ 解答错误 80 85 MS 82388 KB 815 2024-09-29 14:40:15

Tests(20/25):


#include<bits/stdc++.h> using namespace std; int n,q; long long t[105],st[250005][105],a[250005],ans =0; 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--){ int op,b; // cout<<q<<" "; scanf("%d",&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){ int k; scanf("%d",&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("%d\n",ans); } }


测评信息: