模拟
#include<iostream> #include<Cstdio> using namespace std; int n,k; int a[100010]; int color[10010][256]; int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); cin>>n>>k; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); for(int j=0;j<256;j++) color[i][j]=color[i-1][j]; color[i][a[i]]++; } while(k--) { int l,r; scanf("%d%d",&l,&r); int ans=0; for(int i=0;i<256;i++) { if(color[r][i]-color[l-1][i]!=0)ans++; } printf("%d ",ans); } fclose(stdin); fclose(stdout); return 0; }