Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
98660 CSYZZhangZH Karry5307 C++ 运行出错 0 2 MS 508 KB 966 2023-08-16 12:15:13

Tests(0/5):


#include<bits/stdc++.h> #define int long long using namespace std; const int N=5005; int a[N],n,m,b[N],t; int op[N],l[N],r[N],x[N]; int mp[N<<2]; signed main() { ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>n>>m; for(int i=1; i<=n; ++i) { cin>>a[i]; b[++t]=a[i]; } for(int i=1; i<=m; ++i) { cin>>op[i]; if(op[i]==1) { cin>>l[i]>>r[i]>>x[i]; b[++t]=x[i]; } else cin>>l[i]>>r[i]; } sort(b+1,b+t+1); int len=unique(b+1,b+t+1)-b-1; for(int i=1; i<=n; ++i) a[i]=lower_bound(b+1,b+len+1,a[i])-b; for(int i=1; i<=m; ++i) { if(op[i]==1) { x[i]=lower_bound(b+1,b+len+1,x[i])-b; } } for(int i=1; i<=m; ++i) { if(op[i]==1) { for(int j=l[i]; j<=r[i]; ++j) a[j]=x[i]; } else { int ans=0; for(int j=l[i]; j<=r[i]; ++j) { if(mp[a[j]]==0) ans++; mp[a[j]]++; } cout<<ans<<'\n'; for(int j=l[i]; j<=r[i]; ++j) mp[a[j]]--; } } return 0; }


测评信息: